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' Be sure that all variables are dimensioned:
37option explicit
38
39'*************************************************************************
40' This Interface/Service test depends on the following GLOBAL variables,
41' which must be specified in the object creation:
42
43'      Global cNameToSet As String "fixed" if name is fixed
44
45'*************************************************************************
46
47
48
49
50
51Sub RunTest()
52
53'*************************************************************************
54' INTERFACE:
55' com.sun.star.container.XNamed
56'*************************************************************************
57On Error Goto ErrHndl
58    Dim bOK As Boolean
59    Dim cName As String, cNewName As String
60
61    if VarType(cNameToSet) = 8 then
62        if cNameToSet = "" then
63            cNewName = cIfcShortName
64        else
65            cNewName = cNameToSet
66        endif
67    else
68        cNewName = cIfcShortName
69    endif
70
71    Test.StartMethod("getName()")
72    bOK = true
73    cName = oObj.getName()
74    Out.Log("Name is '" + cName + "'")
75    bOK = bOK AND NOT isNULL(cName)
76    bOK = bOK AND (VarType(oObj.Name) = 8 )
77    Test.MethodTested("getName()", bOK)
78
79    Test.StartMethod("setName()")
80    bOK = true
81    Out.Log("nameToSet is '" + cNewName + "'")
82
83    if (cNewName = "fixed") then
84        Out.Log("Object " + cObjectName + " has fixed name.")
85        on error goto ex1:
86            Out.Log("Trying to change fixed name")
87            oObj.setName(cNewName)
88            Out.Log("After setting name, oObj.Name is '" + oObj.Name + "'")
89            bOK = bOK AND oObj.Name &lt;&gt; cNameToSet
90            if (NOT bOK) then Out.Log("Fixed name was changed! - FAILED")
91            goto cont1:
92        ex1:
93            Out.Log("Expected exception - OK")
94            resume next
95        cont1:
96    else
97        oObj.setName(cNewName)
98        Out.Log("After setting name, oObj.Name is '" + oObj.Name + "'")
99        bOK = bOK AND (cName &lt;&gt; oObj.Name)
100        oObj.Name = cName
101        bOK = bOK AND (cName = oObj.Name)
102    end if
103    Test.MethodTested("setName()", bOK)
104
105Exit Sub
106ErrHndl:
107    Test.Exception()
108    bOK = false
109    resume next
110End Sub
111</script:module>
112