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="sheet_XSpreadsheets" 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 nGlobalLong As Long the number of sheets
45
46'*************************************************************************
47
48
49
50
51
52
53Sub RunTest()
54
55'*************************************************************************
56' INTERFACE:
57' com.sun.star.sheet.XSpreadsheets
58'*************************************************************************
59On Error Goto ErrHndl
60    Dim bOK As Boolean
61    Dim l As Integer
62    Dim sname As String
63    Dim oSheet1, oSheet2 As Object
64
65
66    Test.StartMethod("insertNewByName()")
67    bOK = true
68    for l = 1 to nGlobalLong
69        sname = cIfcShortName &amp; CStr(l)
70        oObj.insertNewByName(sname, l)
71        oSheet1 = oObj.getByName(sname)
72        oSheet2 = oObj.getByIndex(l)
73        bOK = bOK AND NOT isNull(oSheet1)
74        bOK = bOK AND NOT isNull(oSheet2)
75        if (bOK) then
76            bOK = bOK and oSheet1.name = oSheet2.name
77        end if
78    next l
79    Test.MethodTested("insertNewByName()", bOK)
80
81    Test.StartMethod("copyByName()")
82    bOK = true
83    l = 1
84    sname = cIfcShortName &amp; "COPY"
85    oObj.copyByName(cIfcShortName &amp; CStr(l), sname, l )
86    oSheet1 = oObj.getByName(sname)
87    oSheet2 = oObj.getByIndex(l)
88    bOK = bOK AND NOT isNull(oSheet1)
89    bOK = bOK AND NOT isNull(oSheet2)
90    if (bOK) then
91        bOK = bOK AND oSheet1.name = oSheet2.name
92    end if
93    Test.MethodTested("copyByName()", bOK)
94
95    Test.StartMethod("moveByName()")
96    bOK = true
97    l = 1
98    sname = cIfcShortName &amp; "2"
99    oObj.moveByName(sname, l)
100    oSheet1 = oObj.getByName(sname)
101    oSheet2 = oObj.getByIndex(l)
102    bOK = bOK AND NOT isNull(oSheet1)
103    bOK = bOK AND NOT isNull(oSheet2)
104    if (bOK) then
105        bOK = bOK AND oSheet1.name = oSheet2.name
106    end if
107    Out.Log(cIfcShortName &amp; ":" &amp; "#1 - " &amp; bOK)
108
109    sname = cIfcShortName &amp; "COPY"
110    l = nGlobalLong + 1
111    oObj.moveByName(sname, l)
112    l = l - 1
113    oSheet1 = oObj.getByName(sname)
114    oSheet2 = oObj.getByIndex(l)
115    bOK = bOK AND NOT isNull(oSheet1)
116    bOK = bOK AND NOT isNull(oSheet2)
117    if (bOK) then
118        bOK = bOK and oSheet1.name =oSheet2.name
119    end if
120    Test.MethodTested("moveByName()", bOK)
121
122    nGlobalLong = nGlobalLong * 2 + 1 ' nGlobalLong : 3 default sheets where already there
123                                      ' nGlobalLong have been inserted
124                                      ' + 1 has been created by Copy
125Exit Sub
126ErrHndl:
127    Test.Exception()
128    bOK = false
129    resume next
130End Sub
131</script:module>
132