1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
3<script:module xmlns:script="http://openoffice.org/2000/script" script:name="container_XNamed" script:language="StarBasic">
4
5
6'*************************************************************************
7'
8' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
9'
10' Copyright 2000, 2010 Oracle and/or its affiliates.
11'
12' OpenOffice.org - a multi-platform office productivity suite
13'
14' This file is part of OpenOffice.org.
15'
16' OpenOffice.org is free software: you can redistribute it and/or modify
17' it under the terms of the GNU Lesser General Public License version 3
18' only, as published by the Free Software Foundation.
19'
20' OpenOffice.org is distributed in the hope that it will be useful,
21' but WITHOUT ANY WARRANTY; without even the implied warranty of
22' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
23' GNU Lesser General Public License version 3 for more details
24' (a copy is included in the LICENSE file that accompanied this code).
25'
26' You should have received a copy of the GNU Lesser General Public License
27' version 3 along with OpenOffice.org.  If not, see
28' <http://www.openoffice.org/license.html>
29' for a copy of the LGPLv3 License.
30'
31'*************************************************************************
32*****
33'*************************************************************************
34
35
36
37' Be sure that all variables are dimensioned:
38option explicit
39
40'*************************************************************************
41' This Interface/Service test depends on the following GLOBAL variables,
42' which must be specified in the object creation:
43
44'      Global cNameToSet As String "fixed" if name is fixed
45
46'*************************************************************************
47
48
49
50
51
52Sub RunTest()
53
54'*************************************************************************
55' INTERFACE:
56' com.sun.star.container.XNamed
57'*************************************************************************
58On Error Goto ErrHndl
59    Dim bOK As Boolean
60    Dim cName As String, cNewName As String
61
62    if VarType(cNameToSet) = 8 then
63        if cNameToSet = "" then
64            cNewName = cIfcShortName
65        else
66            cNewName = cNameToSet
67        endif
68    else
69        cNewName = cIfcShortName
70    endif
71
72    Test.StartMethod("getName()")
73    bOK = true
74    cName = oObj.getName()
75    Out.Log("Name is '" + cName + "'")
76    bOK = bOK AND NOT isNULL(cName)
77    bOK = bOK AND (VarType(oObj.Name) = 8 )
78    Test.MethodTested("getName()", bOK)
79
80    Test.StartMethod("setName()")
81    bOK = true
82    Out.Log("nameToSet is '" + cNewName + "'")
83
84    if (cNewName = "fixed") then
85        Out.Log("Object " + cObjectName + " has fixed name.")
86        on error goto ex1:
87            Out.Log("Trying to change fixed name")
88            oObj.setName(cNewName)
89            Out.Log("After setting name, oObj.Name is '" + oObj.Name + "'")
90            bOK = bOK AND oObj.Name &lt;&gt; cNameToSet
91            if (NOT bOK) then Out.Log("Fixed name was changed! - FAILED")
92            goto cont1:
93        ex1:
94            Out.Log("Expected exception - OK")
95            resume next
96        cont1:
97    else
98        oObj.setName(cNewName)
99        Out.Log("After setting name, oObj.Name is '" + oObj.Name + "'")
100        bOK = bOK AND (cName &lt;&gt; oObj.Name)
101        oObj.Name = cName
102        bOK = bOK AND (cName = oObj.Name)
103    end if
104    Test.MethodTested("setName()", bOK)
105
106Exit Sub
107ErrHndl:
108    Test.Exception()
109    bOK = false
110    resume next
111End Sub
112</script:module>
113