summaryrefslogtreecommitdiff
path: root/qadevOOo/tests
diff options
context:
space:
mode:
Diffstat (limited to 'qadevOOo/tests')
-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
3627 files changed, 318434 insertions, 0 deletions
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..4c4bf76610d1
--- /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..0fe7c890e378
--- /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..8518931c03c2
--- /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..958d703047dd
--- /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..a71e8da71b44
--- /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..2d3162adbc2f
--- /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..cee6b4c36369
--- /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..a0bc677a42c9
--- /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..cc9b1dc3fc85
--- /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..199cc62a7f27
--- /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..4a1ec00e11e8
--- /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..60afee689fd8
--- /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..4364d709870b
--- /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..ff9ac9c269c4
--- /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..4d7d77fad501
--- /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..c3d3133bd8fb
--- /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..88cf0a8aa2a7
--- /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..906da48cf1ae
--- /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..baeb99479760
--- /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..2e20cf12a979
--- /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..f58bebbf5272
--- /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..cd9b09eb7447
--- /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..ad5e3d0be64a
--- /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..382c39bffbbb
--- /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..9c96a2510fd1
--- /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..f277cbef2664
--- /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..b82f65e07220
--- /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..f9344d5a6ccf
--- /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..21eba19082dc
--- /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..c40f64620313
--- /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..913f4235911f
--- /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..51fb016698ce
--- /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..a59e9f0963a2
--- /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..31442493895b
--- /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..edb8a07b986b
--- /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..12464db2a4ff
--- /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..035ca42be8a1
--- /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..c8c9adb2cf33
--- /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..a0063d76e9d6
--- /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..aa3aecbcca2d
--- /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..7f12c8cabad8
--- /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..3ee305ea4e84
--- /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..755643ad522b
--- /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..1d1ccf3a3fe5
--- /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..fd22837a36f5
--- /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..91dc2a0cdf0f
--- /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..5fc61841b7f5
--- /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..96e1de152adb
--- /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..9e039772039c
--- /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..27991c1eab52
--- /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..4c11ebdb6b23
--- /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..70becc6327cb
--- /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..9ec01eb5aaa1
--- /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..3b86d1a9a22d
--- /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..acf6312ba9a9
--- /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..c901c0cebadb
--- /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..cbaf7119ca77
--- /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..e18bc8589610
--- /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..dbbcc2c0332c
--- /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..a266bcbfc0f9
--- /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..c1637450dbd9
--- /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..3a8a64c115fe
--- /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..10663621dd2d
--- /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..245642a803d8
--- /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..59da87e5de7e
--- /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..c70d66594013
--- /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..f3e2d7c5354c
--- /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..41c2579eda81
--- /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..a5cbb17829f4
--- /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..a54c5268387b
--- /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..80c3c70763fb
--- /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..4cd54d7ae8e4
--- /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..d6ff1ce97dd9
--- /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..1373d97c4904
--- /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..fa327967ceb7
--- /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..340523ee0b9d
--- /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..f7a6424c6152
--- /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..467980f3e66b
--- /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..7ee65e44ae09
--- /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..a62e5b56dd7d
--- /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..a1a29d48d624
--- /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..5eedf06029f1
--- /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..ab71b24327f3
--- /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..601450c715ea
--- /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..2db3114d856d
--- /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..3a6de40053cc
--- /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..fdb57b736158
--- /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..3b06cce03642
--- /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..6b696ac52759
--- /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..677131176ea8
--- /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..5f702320fa33
--- /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..2d8664f07511
--- /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..f6303b558147
--- /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..58643bc7e9aa
--- /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..8d1e88cbc6e2
--- /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..1972c23dab89
--- /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..9b1e19c47cc6
--- /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..18c8e7f6dbea
--- /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..50915301c92f
--- /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..51520d6a37a7
--- /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..926652c8cf6f
--- /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..7307326cf59a
--- /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..911f12953f2a
--- /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..5dd5131b8575
--- /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..2f1edebc2367
--- /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..92defbad16f7
--- /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..51373d472446
--- /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..1db82215916a
--- /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..77d75c1736cb
--- /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..bbd20ef25b4a
--- /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..1aa0f5d246bc
--- /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..d892776b6027
--- /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..6296be6ddd05
--- /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..566e91ecafe8
--- /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..ce883591b50d
--- /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..15bbaa57682f
--- /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..1c3ac80b8496
--- /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..31eae0e015cc
--- /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..a05249f118fd
--- /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..4113a6c4513f
--- /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..173187be7dda
--- /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..51d8f97b95f2
--- /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..d600fa951f1b
--- /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..dd941cae41b7
--- /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..394207dc11e2
--- /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..2f5e0e6a5442
--- /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..46030cae8844
--- /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..2eab9baa63bc
--- /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..3545928c4da4
--- /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..18330bc4a01c
--- /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..e958d186921e
--- /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..f267d2500294
--- /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..6cf29ee71dae
--- /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..46ecb1b7487f
--- /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..6c4ed22f8782
--- /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..0df57288bd00
--- /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..92c90499be0f
--- /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..7f0ea801fe97
--- /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..d9788976de9a
--- /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..cda4a19fff42
--- /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..f4e016100e73
--- /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..03e079156628
--- /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..550fc20e7a03
--- /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..83c121f10927
--- /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..6b2595656f8a
--- /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..d929233bcd91
--- /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..d690f1df8ebe
--- /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..2fb8e6d19011
--- /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..e9bcad12b2b2
--- /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..60fddf132635
--- /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..518c2f25a256
--- /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..e141d5da5fe8
--- /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..2e54cca7e0f5
--- /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..91ad64e51051
--- /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..ed569c102922
--- /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..bb18e18d9b0b
--- /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..c97fa9b3f5ec
--- /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..0aca5f06ec85
--- /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..5d74a3ab8f0e
--- /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..73baebba772a
--- /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..9062b0b03317
--- /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..1c0f5b34dd45
--- /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..ec7d1d24789d
--- /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..b3135639f4e9
--- /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..30133010df80
--- /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..d588c1421a59
--- /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..22a3fc0073c2
--- /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..a644d57df146
--- /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..5cfcb5aab072
--- /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..d04f0fc66f1a
--- /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..d458465b4db9
--- /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..98a39a7a2c10
--- /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..c4a26149bdeb
--- /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..6e507f0618f2
--- /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..2d07f295523c
--- /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..c8ea0ad9822d
--- /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..49f7f8b3016e
--- /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..caae1c60b30e
--- /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..6fbbd0c73208
--- /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..b4a7e82c1e2b
--- /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..b01063c9cfff
--- /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..b615f2c5df17
--- /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..6ff065b53592
--- /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..57dfa0f56e18
--- /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..9c55c9a3c69a
--- /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..86443f0548d7
--- /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..041e0beb7498
--- /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..21f9b5653db5
--- /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..613ca542bcc9
--- /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..0fdf4a3ba122
--- /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..85e1b981f4a6
--- /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..7c0acbfd22cb
--- /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..f51b27035d3d
--- /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..e0c24398e87c
--- /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..8b39c26f995b
--- /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..4f787f7543d7
--- /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..636138e3869b
--- /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..82185ffad811
--- /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..d5cccf4651a1
--- /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..34aa8e4fac60
--- /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..4449d96c8976
--- /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..4554c31deb43
--- /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..2f9dbfa5d4d3
--- /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..22ad4a0ab27f
--- /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..467c745d0b80
--- /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..86bc5bcee519
--- /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..0d335d35b609
--- /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..8dc1baf01b51
--- /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..1595a1a2e3f3
--- /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..9c431b08e10b
--- /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..8e0cf1891f6e
--- /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..5d63d892eebc
--- /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..98e498634d02
--- /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..13cf5da5b5cf
--- /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..7dc3323fd172
--- /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..2abd8beb85f1
--- /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..204f2c639b2e
--- /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..baa940f1c8a8
--- /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..37a39af23d34
--- /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..a7738bee2272
--- /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..a6d03cdafe49
--- /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..fc70ae1cedf6
--- /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..cd0018d792d5
--- /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..ca647a7cc0ce
--- /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..ed4210d50c58
--- /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..3dd3e9ff8adc
--- /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..6160a1bb42d1
--- /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..794493e35b8d
--- /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..c1a6378bfc46
--- /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..93326c756210
--- /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..6c22a42614b9
--- /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..89291f222464
--- /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..aa5dfb60ddd7
--- /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..251e6ab6b66d
--- /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..b5f7e4e02b4a
--- /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..7578975a3a2b
--- /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..aa8ca1e37a78
--- /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..749fc911a559
--- /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..b977764d0d63
--- /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..d6c7e0c23dbe
--- /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..8303447e75ae
--- /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..a55e44325ea0
--- /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..957dafe6ff4c
--- /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..cbc75e7a4a97
--- /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..5f9ebd8b1eb7
--- /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..c50d7e41c90c
--- /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..8de0741dc357
--- /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..707fac8cacd5
--- /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..269d3c91d381
--- /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..1f794560c4ab
--- /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..97cba4d7985b
--- /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..d04bf79e4555
--- /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..2a5ac373cce8
--- /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..bde221c4e11f
--- /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..67c782037295
--- /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..e8025e63ebd4
--- /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..c6fe6baf2efe
--- /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..dc895edef8ae
--- /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..7ccee9121742
--- /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..22c66d713b5b
--- /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..d70a51eb284c
--- /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..f28ac4196c74
--- /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..88cc991e3b11
--- /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..97bc9178de95
--- /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..5a6ff6becfb6
--- /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..04f4d56a6926
--- /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..d34d774fc09b
--- /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..14a73206a4a7
--- /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..b16cdd00d8c0
--- /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..b82a60f038ab
--- /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..cb020595d796
--- /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..5aea1454f06d
--- /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..8ed7517fc7dd
--- /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..685867bf98f0
--- /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..a2d750c9d813
--- /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..33d34d8c855e
--- /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..2a51c2bcab69
--- /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..ffa807c586ba
--- /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..61c1b4a75d50
--- /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..69e0ec8fbd73
--- /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..c5d75c6c0f2b
--- /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..7387bcf3450b
--- /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..25c5653a8a60
--- /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..3197ca957e84
--- /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..dfd279582a34
--- /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..a04cf25db8af
--- /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..19e4deeae2d8
--- /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..a4788be7f97d
--- /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..5b033752befb
--- /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..4db33af162d3
--- /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..bc3fe69df914
--- /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..3c1ed61b7c9f
--- /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..6f6f412c7ede
--- /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..f930c5396974
--- /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..34787b5c5c72
--- /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..e55ec835a8b9
--- /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..7d011edd59c1
--- /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..0149b8682800
--- /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..7105622ef893
--- /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..a3e99723870c
--- /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..3f760dded161
--- /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..39f4849eda95
--- /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..5455ab227e5d
--- /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..b6e73a80d246
--- /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..f89edf56426a
--- /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..7aee5f6eb47e
--- /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..12beaccc011a
--- /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..bf74de351059
--- /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..f386667de545
--- /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..ffb34939a793
--- /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..74d9e42efa55
--- /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..24ef9d4eee12
--- /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..4cc92fbe553b
--- /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..e542b249266b
--- /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..096408a55e31
--- /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..d53acd11e290
--- /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..4b08c23e320f
--- /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..416065db5e4e
--- /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..0fd36904c26c
--- /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..18c2997e304b
--- /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..595acf8fc7c8
--- /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..9ab9fe9ef5cd
--- /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..cc0fd80aaef4
--- /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..0b6ee05ca44c
--- /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..b5cd552a74d6
--- /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..9240ee792c56
--- /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..abdce31d7dc6
--- /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..087710c79420
--- /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..124004934271
--- /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..9df9a573715b
--- /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..7f35409a3f89
--- /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..b7c0893e878c
--- /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..714246a1d3f1
--- /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..c064f9b19fa8
--- /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..905558b55118
--- /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..c415d0c02b4a
--- /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..e0589774c72b
--- /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..e0c054fd91bb
--- /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..b7e26b1b95e8
--- /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..fc61a9dd5206
--- /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..73155b6138e1
--- /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..32ee221361fb
--- /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..bf4888e48526
--- /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..96b9f94e97af
--- /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..7b92d23d26b5
--- /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..4d236b89e17a
--- /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..d7658959f020
--- /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..86482d9beea9
--- /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..0d96ffbbf2c0
--- /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..9e443916add0
--- /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..0a93d54711f2
--- /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..bf7d3fb3ff5f
--- /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..e305063a1de2
--- /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..ab3954ec3c55
--- /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..5c2bb53c81d6
--- /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..5eafe0a7fa3c
--- /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..50f56583d57b
--- /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..0eed0e8c67e6
--- /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..1bba7b25cc3b
--- /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..940f1fb90427
--- /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..e0a865b65696
--- /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..2c4a4b8c03fa
--- /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..9aebd66e0ea2
--- /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..64f37366cbab
--- /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..3295e6721d54
--- /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..622abee984df
--- /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..a39562321f7a
--- /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..0f41bebd33f0
--- /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..8302b4cb99cf
--- /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..87bd8453e3e6
--- /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..1230579543d6
--- /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..1c9322f99958
--- /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..bb8e549662c9
--- /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..18e5462e4683
--- /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..72b2c02948e0
--- /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..b5c433965d10
--- /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..7af935049f08
--- /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..cc3ca14e2a12
--- /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..63880efed4d3
--- /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..c38faa0d3625
--- /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..4bc54010a8b8
--- /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..bb207246fb1f
--- /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..a53278a46ea8
--- /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..409242d74f5b
--- /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..30d437059c8c
--- /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..42215aaa44c1
--- /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..718c5dd83dfe
--- /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..5f959312e6e0
--- /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..f288f2839158
--- /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..8ac12a3bba8b
--- /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..dc275fe5df7a
--- /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..9d62bab6405c
--- /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..f9af42b69173
--- /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..a87733c044ff
--- /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..593092780a1e
--- /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..0ccbf0420602
--- /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..47a1f501224e
--- /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..6d36198bfa0f
--- /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..3d1c28c6aea0
--- /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..b8985324e96a
--- /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..865c3f15e47f
--- /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..2c9d83716d2f
--- /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..2abe69303961
--- /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..29711bff9f33
--- /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..cd4a0490559b
--- /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..2b5d7f1513a7
--- /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..cc88075a9b8b
--- /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..12562abde2b9
--- /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..c85adfb261e8
--- /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..2c8aaee986ab
--- /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..ab4c0d936b18
--- /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..bb391c18334a
--- /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..78c4cf317ff3
--- /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..51603b7edeaa
--- /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..a4a01f2fbce6
--- /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..dd2500fdf9c9
--- /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..a87562948ec1
--- /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..0f62b6659a9f
--- /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..7ffeb893d4d5
--- /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..695a087acf86
--- /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..7e7845344174
--- /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..78099cee0826
--- /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..619678af2f91
--- /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..9f49eec04eca
--- /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..4150ce3d4fc3
--- /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..79d1eee422e6
--- /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..bda344bf26fb
--- /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..e12d10ace540
--- /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..0c2712b236de
--- /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..e6d59b16e376
--- /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..0e11f9c59c3d
--- /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..c3747553ccda
--- /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..55bc00bd0bd5
--- /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..0f5bd210fada
--- /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..368723761e58
--- /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..688b77d2eed8
--- /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..c4c1732e7a38
--- /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..6bda7836fde1
--- /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..9a9e242086a1
--- /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..9a42db1d5eb8
--- /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..4f9db71d140e
--- /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..ad23b22b2239
--- /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..b132f8c4b15d
--- /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..d8f0a2bf1ddc
--- /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..9da72fb53c80
--- /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..02b7616d0e7c
--- /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..0e2b8dd13b75
--- /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..f4628605f912
--- /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..4d2058e1ec73
--- /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..f26759a5b08d
--- /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..a622af71236d
--- /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..9563db05ae08
--- /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..9e6e381be1b1
--- /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..14428e6f71a8
--- /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..c7a6c82c178e
--- /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..0ba8b3606cfb
--- /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..0348452c611a
--- /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..bbefd7e4c642
--- /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..04170976ba85
--- /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..2c489e4c4f50
--- /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..712f74f7c596
--- /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..d6d1d47b0e6a
--- /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..bf0c2a82bd5f
--- /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..3c0a03f409e3
--- /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..61c4b315f3e1
--- /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..4152a7d34ffd
--- /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..ef95f1d5a423
--- /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..013504395955
--- /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..082bcd42fb74
--- /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..fc9c595d20bf
--- /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..a65b7bdc1784
--- /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..85f149d05a5e
--- /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..4d096e6c2a1b
--- /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..515f77bfe689
--- /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..da332e034100
--- /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..013abd362f92
--- /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..4f7685b20e8f
--- /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..d5ae775f90ab
--- /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..da7201829e7a
--- /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..2bc14b2ce594
--- /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..32a1e96ea21a
--- /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..a1ef293541b0
--- /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..076eaac66aeb
--- /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..7277bed21313
--- /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..4c0fe8e53d7b
--- /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..cb72d09bb32c
--- /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..b11a550e3ca3
--- /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..3e2561c6f268
--- /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..cb58d33dec91
--- /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..292eb6d1209c
--- /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..3ae800e78d38
--- /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..909e84afa1be
--- /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..4151fdfbc387
--- /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..1edcb825e692
--- /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..9af63c12204c
--- /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..87ac408e0249
--- /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..cb00fb56dd8a
--- /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..cdaea811b686
--- /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..0935e18b59f2
--- /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..286bed8eebff
--- /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..865a987458b8
--- /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..74a0aa4fa42f
--- /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..9cd3e9823370
--- /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..ce53a48b867a
--- /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..5946d646762d
--- /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..d3efe367b0f4
--- /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..7c81f9dc7d29
--- /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..58b0fa44bd32
--- /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..a877fcd16159
--- /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..cf5ca59929b3
--- /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..0946511e7ad6
--- /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..0365a6a5079a
--- /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..2d8c920b12a5
--- /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..306742181734
--- /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..bd5ca3fcaf4b
--- /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..eb02619490ad
--- /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..f76da13bdb58
--- /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..1eb75f9a3b92
--- /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..b48e55d414d1
--- /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..bdecb52e2be1
--- /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..e2e47e42a12f
--- /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..a534138fb912
--- /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..979aa7e5d68d
--- /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..a377c1c0dd9e
--- /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..a00a1fdfabb2
--- /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..7b632532631b
--- /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..58c8acd3d9f5
--- /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..69e0e48a9546
--- /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..e592734fbfe8
--- /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..72e323858fd0
--- /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..5b24f447c4ba
--- /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..dccee2bb78db
--- /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..5235bc2fd676
--- /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..364cc3ac446f
--- /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..d7df0fca3b71
--- /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..2efaeedb391b
--- /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..cca2c9074667
--- /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..0c29e1591f86
--- /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..64c22912fea1
--- /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..d5aa514f3631
--- /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..a0c061271684
--- /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..73fac8699bdf
--- /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..4174ecaeaf1e
--- /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..5f6a5e38b0e4
--- /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..dda7b109da3c
--- /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..7dd8ebb53ca9
--- /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..56a15ec2d963
--- /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..ace839c0f5d3
--- /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..fb50ba9eaac9
--- /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..417365414a2e
--- /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..f06fa6b80bac
--- /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..edb2ccab1ceb
--- /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..2860ac3ac307
--- /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..aeb52faa6aec
--- /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..53c0a061741d
--- /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..14aa660a5d39
--- /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..5bd42039a3d8
--- /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..9df026ddb7d2
--- /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..19d310da232e
--- /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..cf3c36baba8f
--- /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..ce12e3760ada
--- /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..b6cd29840d43
--- /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..bfeaf5fe0154
--- /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..03ab82016e20
--- /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..6f762f96dbee
--- /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..b676ba7a29e6
--- /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..749f7f37147c
--- /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..8054893585ba
--- /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..fdebf10f5aff
--- /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..525173019e3e
--- /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..a0fa2fc8c6de
--- /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..3e5375b5142a
--- /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..985c340ab674
--- /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..d0b878d7d84b
--- /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..76c20431dac8
--- /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..de555015bc38
--- /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..9c911d171520
--- /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..7a06b7dd3180
--- /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..57b1e21a23d3
--- /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..66b01a04189c
--- /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..ff7b6b06b8a5
--- /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..0ae5832bfcd6
--- /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..2cf890d5756a
--- /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..d87a617ebce0
--- /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..0b0c289a2286
--- /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..6ccb1a17b1a2
--- /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..93bc22476c38
--- /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..ad8b1cdfc213
--- /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..fa8d3b9dc9db
--- /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..23561bf7d2ca
--- /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..6e4b176fce77
--- /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..43f2b2edc2c9
--- /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..d229de57294a
--- /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..f706e55b823e
--- /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..675ca24e617f
--- /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..79f5ae3f0d63
--- /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..ced902f007da
--- /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..01ea59ba5aa1
--- /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..7526fad9fb06
--- /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..cc260f2092cf
--- /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..4deca55537b5
--- /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..c2c33ed440d9
--- /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..ae120dd8c889
--- /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..ffb3a1dd46a1
--- /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..5284613c3faf
--- /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..aa93f31f6c82
--- /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..d76dad39529f
--- /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..b0100d541cb9
--- /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..68f0b023a581
--- /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..bd69345c015d
--- /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..14dd6f17589f
--- /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..6c761217a4cd
--- /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..a2dafb6a8ebd
--- /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..fcd2c768f1e3
--- /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..5ec5a139a59b
--- /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..3718d8aa7637
--- /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..5de2391035ff
--- /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..359b13dd0641
--- /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..ebe61831d474
--- /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..e436ce3b2be9
--- /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..64222bb1444d
--- /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..d93c95c1fa24
--- /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..145224d7817c
--- /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..b29e786bdc57
--- /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..981a916418d2
--- /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..b54c9f60856c
--- /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..2a45604eea38
--- /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..e9a0700780f8
--- /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..4a4c916c4a29
--- /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..1cb192bf35be
--- /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..1f3c20571951
--- /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..af95c69edd09
--- /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..744d993c831d
--- /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..d6bcd9c8e7b3
--- /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..fd7e2e15a6e0
--- /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..e4f9584d75c9
--- /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..bd3dc73567c7
--- /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..8e013f5de13c
--- /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..101e1cb0b935
--- /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..53de699ae12c
--- /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..72dfc901af5c
--- /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..316cd863ea4e
--- /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..2ba2274bf756
--- /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..0aa4d9675523
--- /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..4da4491b5b19
--- /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..2217c0c0d6b2
--- /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..ffa4ff0977aa
--- /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..a6a7c383a670
--- /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..c9e110143bcd
--- /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..756ea9905688
--- /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..bffa1a6c73e0
--- /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..f89f02b46f43
--- /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..0b4fd8505cd1
--- /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..618373929ed2
--- /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..c886d1d160d1
--- /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..5d19ea02c9e7
--- /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..613b045eb901
--- /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..22ae108607cd
--- /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..377ed99547c2
--- /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..21c7f7827f53
--- /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..90ea861f9f34
--- /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..b86bd1cd9e1a
--- /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..9d5dd4859e94
--- /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..7f4015e7dc2f
--- /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..cc3b7f207d4c
--- /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..efc46f8d6063
--- /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..f14e70403f2d
--- /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..5d0103524834
--- /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..7a29c023f1c4
--- /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..796f08a0a204
--- /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..48a8b8629b36
--- /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..23f2f463b2b6
--- /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..716d35d43715
--- /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..22bce193c5bf
--- /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..2d67bedc2d55
--- /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..732861a23590
--- /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..e09fd399f588
--- /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..7018260ca382
--- /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..b5701a504322
--- /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..fc199b4089f7
--- /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..38541aaed35d
--- /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..502d6f2f750d
--- /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..776a91d47f26
--- /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..8020cc6ce0df
--- /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..32016d8e2711
--- /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..26215a0f8c54
--- /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..bf8b2df73e27
--- /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..f78838bcc687
--- /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..8abe0e5b1442
--- /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..85ffe637237c
--- /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..0cf4df3ef1c9
--- /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..a35d6290bc24
--- /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..0900e8c3dfcd
--- /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..556fd5dd74f9
--- /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..cc0525e1c281
--- /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..0516aa58a50b
--- /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..f9d314e71991
--- /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..468f7f6b13cf
--- /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..c1d3380d7352
--- /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..5879d76a0b95
--- /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..73b95bbcb85f
--- /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..c5a6e00324f4
--- /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..c58d66b10468
--- /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..ee17a6de0847
--- /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..eefff1b560a9
--- /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..f6b951b2f4e9
--- /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..22bf326f1cd6
--- /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..56d7165c3824
--- /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..44be16079846
--- /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..548f151c26b7
--- /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..7d8d2b377952
--- /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..0d91ab49a190
--- /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..9e3556972081
--- /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..28a0c4587936
--- /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..22dc8f08e476
--- /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..91de64107d1b
--- /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..ef6cfd0180c8
--- /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..d21c21709abf
--- /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..e35496006a7d
--- /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..d0be517bcca2
--- /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..a03d50bdbef6
--- /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..9351ff0e145b
--- /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..4ab9809c9bb4
--- /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..76dce8f9553c
--- /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..11a00fb7c8fd
--- /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..c59a731d8838
--- /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..1a287789a9ea
--- /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..c4203e07cff5
--- /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..cb83a6c2ff1c
--- /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..ad908857fd75
--- /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..ccd8956994ec
--- /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..6bffda511898
--- /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..3918dc67341e
--- /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..b22b2a9b3f7b
--- /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..dbf57e5782ae
--- /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..56609c37c0ff
--- /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..06fec0390fa5
--- /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..118729c01863
--- /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..cada4acf14d4
--- /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..362311ce7cfc
--- /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..bc200665e9c5
--- /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..c2494f6c0541
--- /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..c79c189addac
--- /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..b882e0242558
--- /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..82c9a2afd9c0
--- /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..d7741e30d6d4
--- /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..616fe4965cb3
--- /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..92a5004dcac5
--- /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..c13fc05bacc3
--- /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..93652025b748
--- /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..6f1e677d7d8b
--- /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..a7a9cac89c50
--- /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..c4efa6a963b6
--- /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..d2b05478873c
--- /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..01c1713199f9
--- /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..7b5827a2475e
--- /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..eb00a417afd0
--- /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..6f2e850c5ffe
--- /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..cbcba7a9b4b2
--- /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..b947b237298c
--- /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..8ffd03254d4c
--- /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..572b2b637855
--- /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..fb28efebd2f5
--- /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..d2a19f1418f9
--- /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..8f3ed5536ea8
--- /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..8ddbbc293a06
--- /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..7d21c2deead6
--- /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..b648236a9533
--- /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..70ee585e3083
--- /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..342e6d6aff48
--- /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..5e21356f623b
--- /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..326ccda4554d
--- /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..c3977ec7eb63
--- /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..c1c98761239b
--- /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..a060245ddfde
--- /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..4b37ec21c2cf
--- /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..d692bb27d6bf
--- /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..4204606d087e
--- /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..bcecd77550df
--- /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..b83e9ce007ee
--- /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..c3a172eb746a
--- /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..5a1a4c3d6bb1
--- /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..73d174eae99f
--- /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..a04e06bbf1a5
--- /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..92655bf9e2eb
--- /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..c3707748fdf5
--- /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..feb425c693df
--- /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..f7557ca671d8
--- /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..60f208825863
--- /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..3b5dbcded56f
--- /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..4dcec1573015
--- /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..0525f6ff6778
--- /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..5d014aa759ee
--- /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..c5aa052abbc0
--- /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..eac8ce39cb4e
--- /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..75b8c2089c45
--- /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..3a89d4639814
--- /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..2e4a32bf9aa0
--- /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..31046fab2eb0
--- /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..070ed5a9e870
--- /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..52ff5ffb189e
--- /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..f846b3a8132d
--- /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..1104c65abd75
--- /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..c4a574755192
--- /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..30c457630c4c
--- /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..e77eff500152
--- /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..810e71c425f4
--- /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..7ba8bee180dd
--- /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..db2a50b0e622
--- /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..c0ce8bd1fe80
--- /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..f552f185cda6
--- /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..50323a5b055e
--- /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..59e760bad0b2
--- /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..da86e8276b18
--- /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..a27f0d60ec63
--- /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..c84a6c1f8f4b
--- /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..bce5015156e1
--- /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..6e9b3d8ad780
--- /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..d4baffdc4500
--- /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..2f16d9922295
--- /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..abfaf198f64e
--- /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..6ba1b97fce76
--- /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..22f3fcb269e7
--- /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..fc5e84c0532d
--- /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..d8ca9a58a85d
--- /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..026faf8c1012
--- /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..4f4f950e0ed6
--- /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..9da4e7fa8d59
--- /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..2b1da80a87d5
--- /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..91ac2fbd8e70
--- /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..9caa75de4d4f
--- /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..d94c3d57a123
--- /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..a7d09a818331
--- /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..a27761f0389c
--- /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..2adf240b8db4
--- /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..7b506972e5f0
--- /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..235e8a4be8ab
--- /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..7c26c3b18b87
--- /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..f9984b93308e
--- /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..e50998ab1b26
--- /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..f274282c45cb
--- /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..dc83d96dd928
--- /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..7bfe808b43f9
--- /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..1cda9fdcbf1c
--- /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..80d42dcd297f
--- /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..6ef935db601c
--- /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..6ff2b549b76c
--- /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..0b22deed7a93
--- /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..1044442ca56d
--- /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..a6d7b81ed063
--- /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..c0299087ed8d
--- /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..935a534fbeb9
--- /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..86a676380c7e
--- /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..20b678d4b155
--- /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..808311032e4c
--- /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..0c85c74d1eab
--- /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..cc48e6e314c7
--- /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..891d182df31d
--- /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..ba4b9431df42
--- /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..98d5e91b4ea3
--- /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..2b13633d8b2f
--- /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..6b1e5e47d7eb
--- /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..6b376a3618d4
--- /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..17ba5818306f
--- /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..81ee0485888c
--- /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..09192967bce0
--- /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..c7fbc712ed91
--- /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..ba25eb21342e
--- /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..806b38290c93
--- /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..77e951568f38
--- /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..f2433f0cf3a4
--- /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..7e313385d07b
--- /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..55cc7e143099
--- /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..65c5939798f1
--- /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..42ded566f92d
--- /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..a50398eff832
--- /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..73ff7815b9f7
--- /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..d7bffd85e347
--- /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..b1c9c8642254
--- /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..0705d424cd57
--- /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..aabee75977bc
--- /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..2330de06ee7d
--- /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..b3ee9aeb8e53
--- /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..15ce8a8ef4df
--- /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..41c467479a8e
--- /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..80068cfadf71
--- /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..0bbe59be86df
--- /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..0e6d823d20d5
--- /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..840e6e5a2df8
--- /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..8cdd56280b97
--- /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..c2cb26046a03
--- /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..4d9f25301219
--- /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..cda222edc858
--- /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..9c648edc8ace
--- /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..b52891687452
--- /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..2a7737d53743
--- /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..84553b082622
--- /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..cbb3917b2e03
--- /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..3835f1a876d4
--- /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..d77ca0f674b1
--- /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..f0157633ccc4
--- /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..13f8aeeeb52f
--- /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..5662ee0addc9
--- /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..b12c7c55e362
--- /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..3f80a7e5ac24
--- /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..d2a1a2ef23ce
--- /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..ab06d2977b96
--- /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..662f509696a7
--- /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..1ff4a3f91d11
--- /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..0054823cf1bc
--- /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..edb102225e2b
--- /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..9fd4c73109b5
--- /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..4731dac7e335
--- /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..70f051f8f0d6
--- /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..1baa4c21d8a0
--- /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..1b39d32a3c2d
--- /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..b410257f7ba9
--- /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..a920559dbc7c
--- /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..915891919bc0
--- /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..bd19c78a3da8
--- /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..b7b119c3b3b3
--- /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..9d4216a0132c
--- /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..60d9cc9f38b2
--- /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..56a79463d0aa
--- /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..f394e1dd9dbb
--- /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..dfaf72aa525f
--- /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..ae94cf3358bb
--- /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..4541e30cafa3
--- /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..d0338dc75653
--- /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..4b080bee0a75
--- /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..42d8f75dc78e
--- /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..c011619a0687
--- /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..fab644979093
--- /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..5045ed93647a
--- /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..27f2da2a8a6b
--- /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..8ef56fbc041d
--- /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..b2c0b6c4bff9
--- /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..c3d0df45cbe2
--- /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..015b94b7f31f
--- /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..73a174902fb9
--- /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..d10a1a792340
--- /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..06b8d3e17c74
--- /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..f15d109ce413
--- /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..4a6e1eaea16c
--- /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..ec1ccf069fc5
--- /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..abcdb81ab116
--- /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..719a55ded4f7
--- /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..3b171bde6432
--- /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..5f3ce09f8f61
--- /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..97fcf84ad8d2
--- /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..a71077cd26d6
--- /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..13083444297e
--- /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..a70cef7b7304
--- /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..ef70232f14a9
--- /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..1224cc0cbb8c
--- /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..1f98b8e902c8
--- /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..9034de739054
--- /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..3b1d914205f7
--- /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..3474f22f84f4
--- /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..0b7bdabaf6b7
--- /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..bf1b874d92ca
--- /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..03f890e1b28b
--- /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..594868d0e65a
--- /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..b66cb993eb97
--- /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..3f17dd472e8b
--- /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..9094469f690d
--- /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..769f031a53cc
--- /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..22779ea482f6
--- /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..439d22b55cc9
--- /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..6659a68f8965
--- /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..8212b7828f1a
--- /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..25097fd9d9f0
--- /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..a5a018cea24f
--- /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..9dd0e2f21410
--- /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..0892f58acc16
--- /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..95065d5d72f4
--- /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..bafb8cd3d68f
--- /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..6808d2f6401a
--- /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..52223953c94a
--- /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..2fcac156fca3
--- /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..ef9ad060e0dc
--- /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..aeaa0a4eab65
--- /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..51f284453e77
--- /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..e8953bb3efdf
--- /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..8af7acd39fa6
--- /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..9f7fb9a2d32f
--- /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..74ffdf1a8928
--- /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..98a7d7658353
--- /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..a38071cb4041
--- /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..fd5d58a5039a
--- /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..128acaa84d4c
--- /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..7937aebb549f
--- /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..eb821d2fabbe
--- /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..0282e18c11f0
--- /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..6431bcaeeb66
--- /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..541de2ee0c9c
--- /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..c93b5fcf8f51
--- /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..ad91ad4b5712
--- /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..9dc73573ef9d
--- /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..f4db946d2a3a
--- /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..46ac8fddc1ab
--- /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..d50e80008079
--- /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..4559c6fc0765
--- /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..63b78fc806af
--- /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..1d6e96564b6f
--- /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..049f3f672ef2
--- /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..88e2a0fd87d2
--- /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..4defeb81b290
--- /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..9026c664d90a
--- /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..1e2454c52bb0
--- /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..3f6c9d69c51e
--- /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..c6ae9c78bd46
--- /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..9ddce92e1766
--- /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..9126221adf69
--- /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..68b2df5b5f0f
--- /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..51671d8d279c
--- /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..a9bec3a769fc
--- /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..3c2a0553b53b
--- /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..f566c2178d7d
--- /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..2be986c8dd6e
--- /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..7d0869150f63
--- /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..cafb821be171
--- /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..d41d88a73509
--- /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..0cf1cbb2ed49
--- /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..f04b8f8916bb
--- /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..89f5adf86b99
--- /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..79c820d74ebe
--- /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..17ad8808d6e8
--- /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..96b2aed3ca50
--- /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..d52e5a37ff2e
--- /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..786456d27381
--- /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..861cd2b807c6
--- /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..b9db27d44582
--- /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..423a9f473457
--- /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..9a8ada525fa3
--- /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..078571d5df9c
--- /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..5bb8d83ac3a8
--- /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..901467a89d33
--- /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..017a1be8a4f3
--- /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..f863d134bceb
--- /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..429e30d325ed
--- /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..495bda11c4b7
--- /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..004599065969
--- /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..383e8eadcf16
--- /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..a5feffd8612a
--- /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..0c78c06c592e
--- /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..b8aa29b0c0c7
--- /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..486a42d72402
--- /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..4164342158ec
--- /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..4a39c3049eb5
--- /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..c86d45878656
--- /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..bc24b11b4325
--- /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..876615f0b30a
--- /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..690706c4fc57
--- /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..c1950fb9b789
--- /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..a8d8d513d259
--- /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..7604ae36c922
--- /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..3ab99f2ebeca
--- /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..ba314d66dfef
--- /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..7a729cd11121
--- /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..fc90ba4166f7
--- /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..ccd05a7f7ac9
--- /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..08dd749f4403
--- /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..74c619841d3a
--- /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..ffe835f3e543
--- /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..c34d0c67c5f2
--- /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..39960d7e63a8
--- /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..b30ad68172be
--- /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..434e7ad6dc07
--- /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..18315f892b1f
--- /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..18da8c9431f2
--- /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..32b34f507f74
--- /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..217e2509d3a9
--- /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..7b4725fe98c7
--- /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..b015a858a903
--- /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..6992a80d208e
--- /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..5c8730b7bcca
--- /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..a3c5786f45f9
--- /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..9ec1040a110c
--- /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..90e8f6ad3154
--- /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..6e86243a0fde
--- /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..b6f5bcab66d4
--- /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..f598f28f093c
--- /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..3c721eda6d2b
--- /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..2b9b3e8dd8e5
--- /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..9995169a3d37
--- /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..7b4731f13e14
--- /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..062d45db0b24
--- /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..dbd42fbdcb4f
--- /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..e3af6664183a
--- /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..ce2717d787cc
--- /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..4e7269343cc9
--- /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..f8f245d87ca0
--- /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..6b91678c75a7
--- /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..59c5e8d5b70e
--- /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..ddefcd878fb9
--- /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..3dc832a73f7c
--- /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..064932acf625
--- /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..7c69e6a6b461
--- /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..ba2284c587ef
--- /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..8365db8f9810
--- /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..dd61867e0316
--- /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..67d251a50b3a
--- /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..97ee8193c792
--- /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..482cd7bda3dc
--- /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..5e262d470d06
--- /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..f21ac75daaca
--- /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..e7efa1769be2
--- /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..a59cf21fd863
--- /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..8ee05967bd5d
--- /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..549ef0a91b9b
--- /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..09a5824c2a6d
--- /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..c27c9eb7209f
--- /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..a6a95185967d
--- /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..791c27189f2e
--- /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..6f66b0c9f66a
--- /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..e393b2c57a2c
--- /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..47554e907752
--- /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..90878c5a0c03
--- /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..911d057de8c8
--- /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..54126337db9c
--- /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..bf82b3012b51
--- /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..37b4a8dc2599
--- /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..fd742e4f9441
--- /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..3e77577213ef
--- /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..7dd6b8fd703b
--- /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..c62ba90f1155
--- /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..a2fc8eb611c0
--- /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..7a227812f4ef
--- /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..c6c22727e6f7
--- /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..a8d7b4feb6c7
--- /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..008fd1602193
--- /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..ac204c5f277f
--- /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..2e41e20917f6
--- /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..89f8df2391e1
--- /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..7a7d6d941977
--- /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..f2d0047eae2b
--- /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..aa1bba14b7a7
--- /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..f643841d1c59
--- /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..1e5f98b98604
--- /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..88e72c79d0e4
--- /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..ce006623e82b
--- /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..3ff28a8239eb
--- /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..36e5a4958399
--- /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..35bf9287dd28
--- /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..605ac61fc209
--- /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..e5d626bc0c13
--- /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..7ea4ebf6ccf6
--- /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..95c70509306f
--- /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..f0903c99e693
--- /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..9d003240d9fe
--- /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..19a518cf9f67
--- /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..be55107c94f8
--- /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..e29891766ff0
--- /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..07d517003cd8
--- /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..1761aabdf3a2
--- /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..c355b5d17d92
--- /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..0a8ba7c23b0d
--- /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..db817c4b260b
--- /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..d99a6dcfa4f1
--- /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..9e32d3ae5aa0
--- /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..f9f511398691
--- /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..e74ceaa7f315
--- /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..8114d24b84f1
--- /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..a6af6f769d00
--- /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..ab5c19e6d9b2
--- /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..978ea5b54176
--- /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..55befb374caf
--- /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..4095e19e3725
--- /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..adc5595d58fc
--- /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..feb3f8dabbb6
--- /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..cec8afee207a
--- /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..f05a79f1eb1d
--- /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..7610618877e7
--- /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..544ec015dda2
--- /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..ec42193e731e
--- /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..0fb1f22e78d5
--- /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..fbe2156932e5
--- /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..306d8956737e
--- /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..603a01d53677
--- /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..83cef6f8fc4d
--- /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..8d4a14b2759b
--- /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..1a21ad5cc25f
--- /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..95c73e4d1249
--- /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..a9c7ee4908d1
--- /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..ecb9b6494550
--- /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..320ca60cd2cd
--- /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..371e125780c3
--- /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..1fac0d2747d0
--- /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..b97baff7ec72
--- /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..c8398b9d7b9d
--- /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..30dbe80c7810
--- /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..6bb88deb14b3
--- /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..144b76dcb151
--- /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..b95661e2308f
--- /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..ca2fb30118c2
--- /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..a07d6993cadc
--- /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..bc5ff71ca784
--- /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..13afc17e67ba
--- /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..6ea0f8041574
--- /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..417080e22780
--- /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..b9cce4d65048
--- /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..436427b1fc27
--- /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..eed656ee997a
--- /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..c4a970d4c1d2
--- /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..69b06940d419
--- /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..f5ec370614db
--- /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..8d4cfd6a81f8
--- /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..2630b5b2da88
--- /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..f8e5a5d4881b
--- /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..9df3327e13a4
--- /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..342390180a54
--- /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..0b280929eedc
--- /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..009f50e570f5
--- /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..3c10f9b3cabf
--- /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..425faf20ef50
--- /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..b79b4448e580
--- /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..b95cd8ba4eb9
--- /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..76ab82f140e3
--- /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..490f6531e618
--- /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..da32557d1852
--- /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..058e5f2f08da
--- /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..cc49a1f4dcd7
--- /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..ad72aeffee87
--- /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..48b1d9407584
--- /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..3abdf4380855
--- /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..ca7d048181c7
--- /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..386e297eaa52
--- /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..a2ada4632548
--- /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..377bd14be2ae
--- /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..281ef9e2dfd2
--- /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..26aed37d1702
--- /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..aaca842c3aab
--- /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..f59512b9234f
--- /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..f42de3699f0e
--- /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..66c55706f517
--- /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..7ffd6710bf96
--- /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..ed1661d27b11
--- /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..6deab9672dc9
--- /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..fbea9eb7b3fe
--- /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..8529b08338bf
--- /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..0d7772a82f13
--- /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..c8bde32a1564
--- /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..5b7f2fde1521
--- /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..5feb03fc795e
--- /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..917203287636
--- /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..a55fe9a2d064
--- /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..824068f05b36
--- /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..ae39ac3ddb2d
--- /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..f6f04297bdbf
--- /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..755a5ce05007
--- /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..df78b827624e
--- /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..fd61a5c67396
--- /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..d9f5282b2612
--- /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..5fafb21fbe53
--- /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..cc8e718f965a
--- /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..8be8462e9064
--- /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..97b2ce338ffb
--- /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..d9da588e290a
--- /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..b0fcb29cfa32
--- /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..af41ba44b645
--- /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..77d5cf198b7a
--- /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..bc6b4d057dca
--- /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..20812b1db4cb
--- /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..009fdefd2aaa
--- /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..0f6cca0ed753
--- /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..ad682c79d974
--- /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..615fd7e52a89
--- /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..6d458de73581
--- /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..ed352e6e7183
--- /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..f4e25f0f590a
--- /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..9dce17e1407b
--- /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..1dbe1cf66cd2
--- /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..6382c7c3e1e5
--- /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..bcba3d88c00f
--- /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..d3fd2693605b
--- /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..a8bfc06720e7
--- /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..8c7028134d64
--- /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..4159f6106d9c
--- /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..c079ed8ac6ac
--- /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..a30435534417
--- /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..4240274d66c4
--- /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..e24744546411
--- /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..57eddf415d74
--- /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..847ed1e0c17f
--- /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..064d9914b786
--- /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..606a8ac631be
--- /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..bb0c947e58e3
--- /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..9a4cee1ab823
--- /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..37464599ff6b
--- /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..3f17f765d2dd
--- /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..80750544d649
--- /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..0f05e3725cd9
--- /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..c326ee873cb4
--- /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..cefb7d072d13
--- /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..4deaef81360d
--- /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..14d3c8f2b73f
--- /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..195dbdfb6984
--- /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..4511f65323e3
--- /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..035196df0ab9
--- /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..97d81ec52427
--- /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..3bb46d8baaf2
--- /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..efe32e3423f0
--- /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..be142c1ebc58
--- /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..4e919ba14698
--- /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..785527f631c2
--- /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..ac836abbaab7
--- /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..79746cc576ef
--- /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..b89817e89c11
--- /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..11ebe24aac59
--- /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..d582c08c2c57
--- /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..3dea66cdb65f
--- /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..0db72e0d2db5
--- /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..0ca3e0e7eb82
--- /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..9547f723414e
--- /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..4b47fe41b475
--- /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..640365fdb855
--- /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..a4ba99c437ec
--- /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..7cf20b8e0656
--- /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..4a8dc03800e9
--- /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..5f6fecef11b6
--- /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..e6bd253e2447
--- /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..ce278a2095f2
--- /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..fcf8a696d5e1
--- /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..aa22b68d851c
--- /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..2e0489037ff4
--- /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..9f886179647e
--- /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..6dccbf02020d
--- /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..b5b3395cb8bb
--- /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..1258ec52be1a
--- /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..bb80761d6725
--- /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..ce1901254d7f
--- /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..a54f1bc8a151
--- /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..021cdadc7cc3
--- /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..d17b4f5be065
--- /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..5dba0063dd75
--- /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..af878cdf1755
--- /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..4dec44420321
--- /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..46758c6e3d22
--- /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..ebea2c62b679
--- /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..93d9de99b214
--- /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..4801b2a4c893
--- /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..ccea9da56f1b
--- /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..52b3b3ce03d8
--- /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..ce399da29702
--- /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..01f89d61ad68
--- /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..b0f38f3d741c
--- /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..96d68e2218cc
--- /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..996fc2c7c062
--- /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..93d3d3787ef2
--- /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..b572027f3857
--- /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..ff76e821a1b9
--- /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..a1f70a0223fc
--- /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..30ea302140c0
--- /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..bd4180571506
--- /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..2466d4dcfa7e
--- /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..defe48794929
--- /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..8de42bcb3bdb
--- /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..18fab3f93505
--- /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..4028f0661400
--- /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..fd7a4f871c76
--- /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..7c69de6e1df4
--- /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..69a3a45eda39
--- /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..114d20670f03
--- /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..aeca441c26e5
--- /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..8635b1bdd0ad
--- /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
+
+}
+