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="awt_XTextComponent" script:language="StarBasic"> 4 5 6'************************************************************************* 7' 8' Licensed to the Apache Software Foundation (ASF) under one 9' or more contributor license agreements. See the NOTICE file 10' distributed with this work for additional information 11' regarding copyright ownership. The ASF licenses this file 12' to you under the Apache License, Version 2.0 (the 13' "License"); you may not use this file except in compliance 14' with the License. You may obtain a copy of the License at 15' 16' http://www.apache.org/licenses/LICENSE-2.0 17' 18' Unless required by applicable law or agreed to in writing, 19' software distributed under the License is distributed on an 20' "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 21' KIND, either express or implied. See the License for the 22' specific language governing permissions and limitations 23' under the License. 24' 25'************************************************************************* 26 27 28 29 30 31' Be sure that all variables are dimensioned: 32option explicit 33 34 35Dim bCB1_textChanged As Boolean 36Dim bCB2_textChanged As Boolean 37 38 39Sub RunTest() 40 41'************************************************************************* 42' INTERFACE: 43' com.sun.star.awt.XTextComponent 44'************************************************************************* 45On Error Goto ErrHndl 46 Dim bOK As Boolean 47 Dim oListener1 As Object, oListener2 As Object 48 Dim vSelection As new com.sun.star.awt.Selection 49 Dim vSelectionSelection As new com.sun.star.awt.Selection 50 Dim vGetSelection As new com.sun.star.awt.Selection 51 Dim vInsertSelection As new com.sun.star.awt.Selection 52 Dim cGetText As String 53 Dim len2set As Integer 54 55 Out.Log("create two com.sun.star.awt.XTextListener") 56 oListener1 = createUNOListener("CB1_", "com.sun.star.awt.XTextListener") 57 oListener2 = createUNOListener("CB2_", "com.sun.star.awt.XTextListener") 58 59 Test.StartMethod("setText()") 60 bOK = true 61 Dim cText As String 62 cText = "XTextComponent: setText()" 63 oObj.setText(cText) 64 Test.StartMethod("getText()") 65 bOK = bOK AND (cText = oObj.getText()) 66 Test.MethodTested("setText()", bOK) 67 Test.MethodTested("getText()", bOK) 68 69 Test.StartMethod("insertText()") 70 bOK = true 71 oObj.setText("setSelection") 72 vInsertSelection.Min = 0 73 vInsertSelection.Max = 3 74 oObj.insertText(vInsertSelection,"new") 75 Out.Log("result of getText is: '" + oObj.getText() +"'. It should be 'newSelection'") 76 bOK = bOK AND (oObj.getText() = "newSelection") 77 Test.MethodTested("insertText()", bOK) 78 79 80 Test.StartMethod("setSelection()") 81 bOK = true 82 vSelectionSelection.Min = 2 83 vSelectionSelection.Max = 3 84 oObj.setSelection(vSelectionSelection) 85 Test.StartMethod("getSelection()") 86 vGetSelection = oObj.getSelection() 87 bOK = bOK AND (vGetSelection.Min = vSelectionSelection.Min) AND _ 88 (vGetSelection.Max = vSelectionSelection.Max) 89 Test.MethodTested("setSelection()", bOK) 90 Test.MethodTested("getSelection()", bOK) 91 92 Test.StartMethod("getSelectedText()") 93 bOK = true 94 oObj.setText("getSelectedText") 95 vSelectionSelection.Min = 0 96 vSelectionSelection.Max = 3 97 oObj.setSelection(vSelectionSelection) 98 Out.Log("result of getSelectedText is: '" + oObj.getSelectedText() +"'. It should be 'get'") 99 bOK = bOK AND (oObj.getSelectedText() = "get") 100 Test.MethodTested("getSelectedText()", bOK) 101 102 Test.StartMethod("setEditable()") 103 bOK = true 104 oObj.setEditable(true) 105 Test.StartMethod("isEditable()") 106 bOK = bOK AND oObj.isEditable() 107 oObj.setEditable(false) 108 bOK = bOK AND NOT oObj.isEditable() 109 oObj.setEditable(true) 110 bOK = bOK AND oObj.isEditable() 111 Test.MethodTested("setEditable()", bOK) 112 Test.MethodTested("isEditable()", bOK) 113 114 Test.StartMethod("setMaxTextLen()") 115 bOK = true 116 if (oObj.getMaxTextLen = 12) then 117 len2set = 10 118 else 119 len2set = 12 120 endif 121 oObj.setMaxTextLen(len2set) 122 oObj.setText("0123456789ABCDE") 123 cGetText = oObj.getText() 124 Out.Log("result of Len(cGetText) is: '" + Len(cGetText) + "'. It should be >'" + len2set+"' ") 125 bOK = bOK AND (Len(cGetText) > len2set) 126 Test.MethodTested("setMaxTextLen()", bOK) 127 128 Test.StartMethod("getMaxTextLen()") 129 bOK = true 130 if (oObj.getMaxTextLen = 12) then 131 len2set = 10 132 else 133 len2set = 12 134 endif 135 oObj.setMaxTextLen(len2set) 136 Out.Log("result of getMaxTextLen is: '" + oObj.getMaxTextLen() +"'. It should be '"+len2set+"'") 137 bOK = bOK AND (oObj.getMaxTextLen() = len2set) 138 Test.MethodTested("getMaxTextLen()", bOK) 139 140 bCB1_textChanged = false 141 bCB2_textChanged = false 142 143 Test.StartMethod("addTextListener()") 144 bOK = true 145 oObj.addTextListener(oListener1) 146 oObj.addTextListener(oListener2) 147 oObj.setText("addTextListener") 148 Wait(500) 149 bOK = bOK AND bCB1_textChanged AND bCB2_textChanged 150 Test.MethodTested("addTextListener()", bOK) 151 152 bCB1_textChanged = false 153 bCB2_textChanged = false 154 155 Test.StartMethod("removeTextListener()") 156 bOK = true 157 oObj.removeTextListener(oListener1) 158 oObj.setText("removeTextListener") 159 Wait(500) 160 bOK = bOK AND NOT bCB1_textChanged AND bCB2_textChanged 161 oObj.removeTextListener(oListener2) 162 Test.MethodTested("removeTextListener()", bOK) 163 164Exit Sub 165ErrHndl: 166 Test.Exception() 167 bOK = false 168 resume next 169End Sub 170 171Sub CB1_disposing() 172End Sub 173 174Sub CB2_disposing() 175End Sub 176 177' Listener call backs for com.sun.star.awt.XTextListener 178Sub CB1_textChanged 179 Out.Log("CallBack for Listener1 textChanged was called.") 180 bCB1_textChanged = true 181End Sub 182Sub CB2_TextChanged 183 Out.Log("CallBack for Listener2 textChanged was called.") 184 bCB2_textChanged = true 185End Sub 186</script:module> 187