diff options
Diffstat (limited to 'qadevOOo/tests/basic/ifc/beans/XPropertyState/beans_XPropertyState.xba')
-rw-r--r-- | qadevOOo/tests/basic/ifc/beans/XPropertyState/beans_XPropertyState.xba | 212 |
1 files changed, 212 insertions, 0 deletions
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..72ffea480e09 --- /dev/null +++ b/qadevOOo/tests/basic/ifc/beans/XPropertyState/beans_XPropertyState.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="beans_XPropertyState" script:language="StarBasic"> + + +'************************************************************************* +'* +'* $RCSfile: beans_XPropertyState.xba,v $ +'* +'* $Revision: 1.1 $ +'* +'* last change:$Date: 2003-01-27 17:45:02 $ +'* +'* The Contents of this file are made available subject to the terms of +'* either of the following licenses +'* +'* - GNU Lesser General Public License Version 2.1 +'* - Sun Industry Standards Source License Version 1.1 +'* +'* Sun Microsystems Inc., October, 2000 +'* +'* GNU Lesser General Public License Version 2.1 +'* ============================================= +'* Copyright 2000 by Sun Microsystems, Inc. +'* 901 San Antonio Road, Palo Alto, CA 94303, USA +'* +'* This library is free software; you can redistribute it and/or +'* modify it under the terms of the GNU Lesser General Public +'* License version 2.1, as published by the Free Software Foundation. +'* +'* This library is distributed in the hope that it will be useful, +'* but WITHOUT ANY WARRANTY; without even the implied warranty of +'* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +'* Lesser General Public License for more details. +'* +'* You should have received a copy of the GNU Lesser General Public +'* License along with this library; if not, write to the Free Software +'* Foundation, Inc., 59 Temple Place, Suite 330, Boston, +'* MA 02111-1307 USA +'* +'* +'* Sun Industry Standards Source License Version 1.1 +'* ================================================= +'* The contents of this file are subject to the Sun Industry Standards +'* Source License Version 1.1 (the "License"); You may not use this file +'* except in compliance with the License. You may obtain a copy of the +'* License at http://www.openoffice.org/license.html. +'* +'* Software provided under this License is provided on an "AS IS" basis, +'* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, +'* WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, +'* MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. +'* See the License for the specific provisions governing your rights and +'* obligations concerning the Software. +'* +'* The Initial Developer of the Original Code is: Sun Microsystems, Inc. +'* +'* Copyright: 2000 by Sun Microsystems, Inc. +'* +'* All Rights Reserved. +'* +'* Contributor(s): _______________________________________ +'* +'* +'************************************************************************* +'************************************************************************* + + + + +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 " & nAllProps & " 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 " & 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 < 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 < 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 < 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 < 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 '" & AllPropsNames(n) & "' FAILED.") + else + Out.Log("getPropertyState() for property '" & AllPropsNames(n) & "' is OK") + end if + + bOK = true + aValue = oObj.getPropertyDefault(AllPropsNames(n)) + bTypesEq = false + if (bOK AND (TypeName(aValue) <> "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 '" & AllPropsNames(n) & "' FAILED.") + elseif ((TypeName(aValue) <> "Empty") AND (NOT bTypesEq)) then + Out.Log("Types: '" & oProperties(n).Type.Name & "' and '" & oCoreRefl.getType(aValue).Name & "' are different.") + else + Out.Log("getPropertyDefault() for property '" & AllPropsNames(n) & "' is OK") + end if + n = n + 1 + wend + +Exit Sub +ErrHndl: + Test.Exception() + bOK = false + resume next +End Sub +</script:module> |