summaryrefslogtreecommitdiff
path: root/qadevOOo/tests/basic/ifc/beans/XPropertyState/beans_XPropertyState.xba
diff options
context:
space:
mode:
Diffstat (limited to 'qadevOOo/tests/basic/ifc/beans/XPropertyState/beans_XPropertyState.xba')
-rw-r--r--qadevOOo/tests/basic/ifc/beans/XPropertyState/beans_XPropertyState.xba212
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 " &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>