1cdf0e10cSrcweir<?xml version="1.0" encoding="UTF-8"?>
2cdf0e10cSrcweir<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
3cdf0e10cSrcweir<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_XSubmit" script:language="StarBasic">
4cdf0e10cSrcweir
5cdf0e10cSrcweir
6cdf0e10cSrcweir'*************************************************************************
7cdf0e10cSrcweir'
8*3709053cSAndrew Rist'  Licensed to the Apache Software Foundation (ASF) under one
9*3709053cSAndrew Rist'  or more contributor license agreements.  See the NOTICE file
10*3709053cSAndrew Rist'  distributed with this work for additional information
11*3709053cSAndrew Rist'  regarding copyright ownership.  The ASF licenses this file
12*3709053cSAndrew Rist'  to you under the Apache License, Version 2.0 (the
13*3709053cSAndrew Rist'  "License"); you may not use this file except in compliance
14*3709053cSAndrew Rist'  with the License.  You may obtain a copy of the License at
15*3709053cSAndrew Rist'
16*3709053cSAndrew Rist'    http://www.apache.org/licenses/LICENSE-2.0
17*3709053cSAndrew Rist'
18*3709053cSAndrew Rist'  Unless required by applicable law or agreed to in writing,
19*3709053cSAndrew Rist'  software distributed under the License is distributed on an
20*3709053cSAndrew Rist'  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21*3709053cSAndrew Rist'  KIND, either express or implied.  See the License for the
22*3709053cSAndrew Rist'  specific language governing permissions and limitations
23*3709053cSAndrew Rist'  under the License.
24cdf0e10cSrcweir'
25cdf0e10cSrcweir'*************************************************************************
26cdf0e10cSrcweir
27cdf0e10cSrcweir
28cdf0e10cSrcweir
29*3709053cSAndrew Rist
30*3709053cSAndrew Rist
31cdf0e10cSrcweir' Be sure that all variables are dimensioned:
32cdf0e10cSrcweiroption explicit
33cdf0e10cSrcweir
34cdf0e10cSrcweir
35cdf0e10cSrcweir
36cdf0e10cSrcweirSub RunTest()
37cdf0e10cSrcweir
38cdf0e10cSrcweir'*************************************************************************
39cdf0e10cSrcweir' INTERFACE:
40cdf0e10cSrcweir' com.sun.star.form.XSubmit
41cdf0e10cSrcweir'*************************************************************************
42cdf0e10cSrcweirOn Error Goto ErrHndl
43cdf0e10cSrcweir    Dim bOK As Boolean
44cdf0e10cSrcweir    Dim list1 As Object, list2 As Object
45cdf0e10cSrcweir    Dim event As new com.sun.star.awt.MouseEvent
46cdf0e10cSrcweir
47cdf0e10cSrcweir    Test.StartMethod("addSubmitListener()")
48cdf0e10cSrcweir
49cdf0e10cSrcweir    l1Called = 0 : l2Called = 0
50cdf0e10cSrcweir
51cdf0e10cSrcweir    bOK = true
52cdf0e10cSrcweir    list1 = createUnoListener("L1_", "com.sun.star.form.XSubmitListener")
53cdf0e10cSrcweir    list2 = createUnoListener("L2_", "com.sun.star.form.XSubmitListener")
54cdf0e10cSrcweir
55cdf0e10cSrcweir    Out.Log("add two listeners")
56cdf0e10cSrcweir    oObj.addSubmitListener(list1)
57cdf0e10cSrcweir    oObj.addSubmitListener(list2)
58cdf0e10cSrcweir
59cdf0e10cSrcweir    Test.StartMethod("removeSubmitListener()")
60cdf0e10cSrcweir    Out.Log("remove listener 1")
61cdf0e10cSrcweir    oObj.removeSubmitListener(list1)
62cdf0e10cSrcweir
63cdf0e10cSrcweir    Test.StartMethod("submit()")
64cdf0e10cSrcweir
65cdf0e10cSrcweir    l1Called = false
66cdf0e10cSrcweir    l2Called = false
67cdf0e10cSrcweir
68cdf0e10cSrcweir    oObj.TargetURL = "someserver"
69cdf0e10cSrcweir    oObj.submit(NULL_OBJECT, event)
70cdf0e10cSrcweir
71cdf0e10cSrcweir    wait(500)
72cdf0e10cSrcweir
73cdf0e10cSrcweir    Out.Log("Listener1 was called " + l1Called + " times."
74cdf0e10cSrcweir    Out.Log("Listener2 was called " + l2Called + " times."
75cdf0e10cSrcweir
76cdf0e10cSrcweir    Test.MethodTested("addSubmitListener()", l2Called = 1)
77cdf0e10cSrcweir    Test.MethodTested("submit()", l2Called > 0)
78cdf0e10cSrcweir    Test.MethodTested("removeSubmitListener()", l1Called = 0)
79cdf0e10cSrcweir
80cdf0e10cSrcweir    Out.Log("remove listener 2")
81cdf0e10cSrcweir    oObj.removeSubmitListener(list2)
82cdf0e10cSrcweir
83cdf0e10cSrcweirExit Sub
84cdf0e10cSrcweirErrHndl:
85cdf0e10cSrcweir    Test.Exception()
86cdf0e10cSrcweir    bOK = false
87cdf0e10cSrcweir    resume next
88cdf0e10cSrcweirEnd Sub
89cdf0e10cSrcweir
90cdf0e10cSrcweirDim l1Called As Integer
91cdf0e10cSrcweirDim l2Called As Integer
92cdf0e10cSrcweir
93cdf0e10cSrcweirFunction L1_approveSubmit() As Boolean
94cdf0e10cSrcweir    l1Called = l1Called + 1
95cdf0e10cSrcweir    L1_approveSubmit = true
96cdf0e10cSrcweirEnd Function
97cdf0e10cSrcweir
98cdf0e10cSrcweirFunction L2_approveSubmit() As Boolean
99cdf0e10cSrcweir    l2Called = l2Called + 1
100cdf0e10cSrcweir    L2_approveSubmit = true
101cdf0e10cSrcweirEnd Function
102cdf0e10cSrcweir</script:module>
103