summaryrefslogtreecommitdiff
path: root/qadevOOo/tests/basic/mod/forms/OTimeModel/forms_OTimeModel.xba
diff options
context:
space:
mode:
Diffstat (limited to 'qadevOOo/tests/basic/mod/forms/OTimeModel/forms_OTimeModel.xba')
-rw-r--r--qadevOOo/tests/basic/mod/forms/OTimeModel/forms_OTimeModel.xba182
1 files changed, 182 insertions, 0 deletions
diff --git a/qadevOOo/tests/basic/mod/forms/OTimeModel/forms_OTimeModel.xba b/qadevOOo/tests/basic/mod/forms/OTimeModel/forms_OTimeModel.xba
new file mode 100644
index 000000000000..003dd7d1f30f
--- /dev/null
+++ b/qadevOOo/tests/basic/mod/forms/OTimeModel/forms_OTimeModel.xba
@@ -0,0 +1,182 @@
+<?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="forms_OTimeModel" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'
+' Copyright 2000, 2010 Oracle and/or its affiliates.
+'
+' OpenOffice.org - a multi-platform office productivity suite
+'
+' This file is part of OpenOffice.org.
+'
+' OpenOffice.org is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Lesser General Public License version 3
+' only, as published by the Free Software Foundation.
+'
+' OpenOffice.org 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 version 3 for more details
+' (a copy is included in the LICENSE file that accompanied this code).
+'
+' You should have received a copy of the GNU Lesser General Public License
+' version 3 along with OpenOffice.org. If not, see
+' <http://www.openoffice.org/license.html>
+' for a copy of the LGPLv3 License.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+
+
+' REQUIRED VARIABLES for interface/service tests:
+
+' for XComponent
+Global oComponentInstance As Object
+
+' for XPersistObject
+Global oPersistInstance As Object
+
+' for XUpdateBroadcaster
+Global bCustomUpdate As Boolean
+
+Global oForm As Object
+
+Global oConnection As Object
+
+
+Sub CreateObj()
+
+'*************************************************************************
+' COMPONENT:
+' forms.OTimeModel
+'*************************************************************************
+On Error Goto ErrHndl
+
+ Dim bOK As Boolean
+ Dim oShape As Object, oDrawPage As Object
+
+ bOK = true
+ ' --- create a document if needed
+
+ oDoc = utils.createDocument("swriter", cObjectName)
+
+ oShape = toolkittools.addControlToDefaultForm("TimeField", 1000, 1000, 2000, 1000)
+ oObj = oShape.getControl()
+ oShape = toolkittools.addControlToDefaultForm("TimeField", 1000, 3000, 2000, 1000)
+ oComponentInstance = oShape.getControl()
+ oShape = toolkittools.addControlToDefaultForm("TimeField", 1000, 5000, 2000, 1000)
+ oPersistInstance = oShape.getControl()
+
+ 'get control from document
+ oDrawPage = oDoc.DrawPage
+ oForm = oDrawPage.Forms.getByName("Standard")
+
+ Dim oRowSet As Object, facc As Object, dbSource As Object
+ Dim srcFile As String, dstFile As String, dbSrcURL As String
+
+ ' Copying DB file to temp location
+ srcFile = utils.Path2URL(cTestDocsDir) + "TestDB/testDB.dbf"
+ dstFile = utils.getTempFileURL("OTimeModelDB.dbf")
+ dbSrcURL = "sdbc:dbase:" + utils.StrReplace(dstFile, "/OTimeModelDB.dbf", "")
+
+ facc = createUnoService("com.sun.star.ucb.SimpleFileAccess")
+ if (facc.exists(dstFile)) then facc.kill(dstFile)
+ facc.copy(srcFile, dstFile)
+
+ dbtools.RegisterDataSource("DBTest", dbSrcURL)
+
+ oForm.DataSourceName = "DBTest"
+ oForm.Command = "OTimeModelDB"
+ oForm.CommandType = com.sun.star.sdb.CommandType.TABLE
+
+ oObj.DataField = "_DOUBLE"
+
+ oForm.load()
+
+ oConnection = oForm.ActiveConnection
+
+ ' for XUpdateBroadcaster
+ bCustomUpdate = true
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Global aChangedValue As Variant
+
+' for XBoundComponent
+Sub prepareCommit()
+On Error Goto ErrHndl
+
+ Out.Log("prepareCommit() called.")
+ if NOT (isNull(oObj.Time) OR isEmpty(oObj.Time)) then
+ Out.Log("The old value was: " + oObj.Time)
+ aChangedValue = oObj.Time + 150000 ' adding 15 minutes
+ else
+ aChangedValue = 150000 ' setting to 0:15
+ end if
+ oObj.Time = aChangedValue
+
+ exit sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+' for XBoundComponent
+Function checkCommit() As Boolean
+On Error Goto ErrHndl
+ Out.Log("checkCommit() called.")
+ Dim rowValue As Variant
+
+ oForm.updateRow()
+ oForm.reload()
+ rowValue = oObj.Time
+ Out.Log("Value was set to " + aChangedValue )
+ Out.Log("the value in current row is " + rowValue)
+ checkCommit() = abs(rowValue - aChangedValue) &lt; 100
+
+ exit function
+ErrHndl:
+ Test.Exception()
+ checkCommit() = false
+End Function
+
+' for XUpdateBroadcaster
+Sub UpdateComponent()
+ Out.Log("UpdateComponent() called.")
+ if NOT (isNull(oObj.Time) OR isEmpty(oObj.Time)) then
+ oObj.Time = oObj.Time + 150000
+ else
+ oObj.Time = 150000
+ end if
+ oObj.commit()
+
+ exit sub
+ErrHndl:
+ Test.Exception()
+End Sub
+
+Sub DisposeObj()
+On Error Goto ErrHndl
+ Out.Log("Closing DB connection ...")
+ oConnection.close()
+
+ Out.Log("Revoking 'DBTest' datasource ...")
+ dbtools.RevokeDB("DBTest")
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ resume next
+End Sub
+</script:module>