diff options
Diffstat (limited to 'qadevOOo/tests/basic/ifc/connection/XAcceptor/connection_XAcceptor.xba')
-rw-r--r-- | qadevOOo/tests/basic/ifc/connection/XAcceptor/connection_XAcceptor.xba | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/qadevOOo/tests/basic/ifc/connection/XAcceptor/connection_XAcceptor.xba b/qadevOOo/tests/basic/ifc/connection/XAcceptor/connection_XAcceptor.xba new file mode 100644 index 000000000000..56c15e60858a --- /dev/null +++ b/qadevOOo/tests/basic/ifc/connection/XAcceptor/connection_XAcceptor.xba @@ -0,0 +1,132 @@ +<?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="connection_XAcceptor" 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 + + + +Sub RunTest() + +'************************************************************************* +' INTERFACE: +' com.sun.star.connection.XAcceptor +'************************************************************************* +On Error Goto ErrHndl + + Dim bOK As Boolean + Dim oConnector As Object + Dim xConnection As Object + Dim sConnectionString As String + Dim args(1) As Variant + + bOK = true + + Test.startMethod("accept()") + + oConnector = createUnoService("basichelper.Connector") + + Dim iPos1 As Integer, iPos2 As Integer + + iPos1 = inStr(1, CNCSTR, "socket") + iPos2 = inStr(iPos1, CNCSTR, "port=") + + sConnectionString = mid(CNCSTR, iPos1, iPos2 - iPos1 + 5) & "18888" + + Out.Log("Connection string is '" & sConnectionString & "'") + + args(0) = createUnoService("com.sun.star.connection.Connector") + args(1) = sConnectionString + + ' When call initialize() method, a new thread is created and tries to + ' connect to Acceptor after some seconds. + + oConnector.initialize(args()) + + ' Starting acception. + xConnection = oObj.accept(sConnectionString) + wait(500) 'Just to be sure that component had a chance to change it's state. + + bOK = bOK AND hasUNOInterfaces(xConnection, "com.sun.star.connection.XConnection") + Out.Log("Connector's state is '" & oConnector.getByName("State") & "'") + bOK = bOK AND oConnector.getByName("State") = "connected" ' This means that connection was established. + + if (bOK) then + Out.Log("Connection established! Trying to get data from stream.") + + Dim aStr As String + Dim aByte As Integer + Dim readData() As Variant + aStr = "" + aByte = 1 + while (aByte <> 0) + ReDim readData() As Variant + xConnection.read(readData, 1) + aByte = readData(0) + if (aByte <> 0) then + aStr = aStr & chr(aByte) + end if + wend + + Out.Log("Returned data from stream is " & aStr) + bOK = bOK AND aStr = sConnectionString + end if + + Test.MethodTested("accept()", bOK) + + Test.startMethod("stopAccepting()") + bOK = true + ' Now stopping acception and trying to connect again + ' (we can do this, if connection string is the same.) + oObj.stopAccepting() + + Out.Log("Trying to connect after stopping accepting...") + oConnector.initialize(args()) + Out.Log("Connector's state is '" & oConnector.getByName("State") & "'") + + ' Now oConnector shouldn't connect. So, check it's state + ' after few seconds (= Connection's Timeout + 3 sec) + wait(3000 + oConnector.getByName("Timeout")) + Out.Log("Connector's state is '" & oConnector.getByName("State") & "'") + bOK = bOK AND oConnector.getByName("State") = "NoConnectException" + + Test.MethodTested("stopAccepting()", bOK) + +Exit Sub +ErrHndl: + Test.Exception() + resume next +End Sub +</script:module> |