| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| |
| package ifc.awt; |
| |
| |
| import lib.MultiMethodTest; |
| import lib.Status; |
| |
| import com.sun.star.awt.XListBox; |
| |
| /** |
| * Testing <code>com.sun.star.awt.XListBox</code> |
| * interface methods : |
| * <ul> |
| * <li><code> addItemListener()</code></li> |
| * <li><code> removeItemListener()</code></li> |
| * <li><code> addActionListener()</code></li> |
| * <li><code> removeActionListener()</code></li> |
| * <li><code> addItem()</code></li> |
| * <li><code> addItems()</code></li> |
| * <li><code> removeItems()</code></li> |
| * <li><code> getItemCount()</code></li> |
| * <li><code> getItem()</code></li> |
| * <li><code> getItems()</code></li> |
| * <li><code> getSelectedItemPos()</code></li> |
| * <li><code> getSelectedItemsPos()</code></li> |
| * <li><code> getSelectedItem()</code></li> |
| * <li><code> getSelectedItems()</code></li> |
| * <li><code> selectItemPos()</code></li> |
| * <li><code> selectItemsPos()</code></li> |
| * <li><code> selectItem()</code></li> |
| * <li><code> isMutipleMode()</code></li> |
| * <li><code> setMultipleMode()</code></li> |
| * <li><code> getDropDownLineCount()</code></li> |
| * <li><code> setDropDownLineCount()</code></li> |
| * <li><code> makeVisible()</code></li> |
| * </ul> <p> |
| * Test is <b> NOT </b> multithread compilant. <p> |
| * @see com.sun.star.awt.XListBox |
| */ |
| public class _XListBox extends MultiMethodTest { |
| |
| public XListBox oObj = null; |
| |
| /** |
| * Listener implementation which sets flags on appropriate method calls |
| */ |
| protected class TestActionListener implements com.sun.star.awt.XActionListener { |
| public boolean disposingCalled = false ; |
| public boolean actionPerformedCalled = false ; |
| |
| public void disposing(com.sun.star.lang.EventObject e) { |
| disposingCalled = true ; |
| } |
| |
| public void actionPerformed(com.sun.star.awt.ActionEvent e) { |
| actionPerformedCalled = true ; |
| } |
| |
| } |
| |
| TestActionListener actionListener = new TestActionListener() ; |
| |
| /** |
| * Listener implementation which sets flags on appropriate method calls |
| */ |
| protected class TestItemListener implements com.sun.star.awt.XItemListener { |
| public boolean disposingCalled = false ; |
| public boolean itemStateChangedCalled = false ; |
| |
| public void disposing(com.sun.star.lang.EventObject e) { |
| disposingCalled = true ; |
| } |
| |
| public void itemStateChanged(com.sun.star.awt.ItemEvent e) { |
| itemStateChangedCalled = true ; |
| } |
| |
| } |
| |
| TestItemListener itemListener = new TestItemListener() ; |
| |
| short lineCount = 0 ; |
| short itemCount = 0 ; |
| |
| /** |
| * Retrieves object relations. |
| * @throws StatusException If one of relations not found. |
| */ |
| public void before() { |
| itemCount = oObj.getItemCount(); |
| } |
| |
| /** |
| * !!! Can be checked only interactively !!! |
| */ |
| public void _addItemListener() { |
| |
| oObj.addItemListener(itemListener) ; |
| |
| tRes.tested("addItemListener()", Status.skipped(true)) ; |
| } |
| |
| /** |
| * !!! Can be checked only interactively !!! |
| */ |
| public void _removeItemListener() { |
| requiredMethod("addItemListener()") ; |
| |
| oObj.removeItemListener(itemListener) ; |
| |
| tRes.tested("removeItemListener()", Status.skipped(true)) ; |
| } |
| |
| /** |
| * !!! Can be checked only interactively !!! |
| */ |
| public void _addActionListener() { |
| |
| oObj.addActionListener(actionListener) ; |
| |
| tRes.tested("addActionListener()", Status.skipped(true)) ; |
| } |
| |
| /** |
| * !!! Can be checked only interactively !!! |
| */ |
| public void _removeActionListener() { |
| requiredMethod("addActionListener()") ; |
| |
| oObj.removeActionListener(actionListener) ; |
| |
| tRes.tested("removeActionListener()", Status.skipped(true)) ; |
| } |
| |
| /** |
| * Adds one item to the last position and check the number of |
| * items after addition. <p> |
| * Has <b>OK</b> status if the number of items increased by 1.<p> |
| * The following method tests are to be completed successfully before : |
| * <ul> |
| * <li> <code> getItemCount </code> </li> |
| * </ul> |
| */ |
| public void _addItem() { |
| requiredMethod("getItemCount()") ; |
| |
| boolean result = true ; |
| oObj.addItem("Item1", itemCount) ; |
| result = oObj.getItemCount() == itemCount + 1 ; |
| |
| tRes.tested("addItem()", result) ; |
| } |
| |
| /** |
| * Adds one two items to the last position and check the number of |
| * items after addition. <p> |
| * Has <b>OK</b> status if the number of items increased by 2.<p> |
| * The following method tests are to be executed before : |
| * <ul> |
| * <li> <code> addItem </code> </li> |
| * </ul> |
| */ |
| public void _addItems() { |
| executeMethod("addItem()") ; |
| |
| boolean result = true ; |
| short oldCnt = oObj.getItemCount() ; |
| oObj.addItems(new String[] {"Item2", "Item3"}, oldCnt) ; |
| result = oObj.getItemCount() == oldCnt + 2 ; |
| |
| tRes.tested("addItems()", result) ; |
| } |
| |
| /** |
| * Gets the current number of items and tries to remove them all |
| * then checks number of items. <p> |
| * Has <b>OK</b> status if no items remains. <p> |
| * The following method tests are to be executed before : |
| * <ul> |
| * <li> <code> getItems </code> </li> |
| * <li> <code> getItem </code> </li> |
| * </ul> |
| */ |
| public void _removeItems() { |
| executeMethod("getItems()") ; |
| executeMethod("getItem()") ; |
| executeMethod("getSelectedItemPos()") ; |
| executeMethod("getSelectedItemsPos()") ; |
| executeMethod("getSelectedItem()") ; |
| executeMethod("getSelectedItems()") ; |
| |
| boolean result = true ; |
| short oldCnt = oObj.getItemCount() ; |
| oObj.removeItems((short)0, oldCnt) ; |
| result = oObj.getItemCount() == 0 ; |
| |
| tRes.tested("removeItems()", result) ; |
| } |
| |
| /** |
| * Just retrieves current number of items and stores it. <p> |
| * Has <b>OK</b> status if the count is not less than 0. |
| */ |
| public void _getItemCount() { |
| |
| itemCount = oObj.getItemCount() ; |
| |
| tRes.tested("getItemCount()", itemCount >= 0) ; |
| } |
| |
| /** |
| * After <code>addItem</code> and <code>addItems</code> methods |
| * test the following items must exist {..., "Item1", "Item2", "Item3"} |
| * Retrieves the item from the position which was ititially the last.<p> |
| * Has <b>OK</b> status if the "Item1" was retrieved. <p> |
| * The following method tests are to be executed before : |
| * <ul> |
| * <li> <code> addItems </code> </li> |
| * </ul> |
| */ |
| public void _getItem() { |
| requiredMethod("addItems()") ; |
| |
| boolean result = true ; |
| String item = oObj.getItem(itemCount) ; |
| result = "Item1".equals(item) ; |
| |
| tRes.tested("getItem()", result) ; |
| } |
| |
| /** |
| * After <code>addItem</code> and <code>addItems</code> methods |
| * test the following items must exist {..., "Item1", "Item2", "Item3"} |
| * Retrieves all items. <p> |
| * Has <b>OK</b> status if the last three items retrieved are |
| * "Item1", "Item2" and "Item3". <p> |
| * The following method tests are to be executed before : |
| * <ul> |
| * <li> <code> addItems </code> </li> |
| * </ul> |
| */ |
| public void _getItems() { |
| requiredMethod("addItems()") ; |
| |
| boolean result = true ; |
| String[] items = oObj.getItems() ; |
| for (int i = itemCount; i < (itemCount + 3); i++) { |
| result &= ("Item" + (i+1 - itemCount)).equals(items[i]) ; |
| } |
| |
| tRes.tested("getItems()", result) ; |
| } |
| |
| /** |
| * Gets line count and stores it. <p> |
| * Has <b>OK</b> status if no runtime exceptions occured. |
| */ |
| public void _getDropDownLineCount() { |
| |
| boolean result = true ; |
| lineCount = oObj.getDropDownLineCount() ; |
| |
| tRes.tested("getDropDownLineCount()", result) ; |
| } |
| |
| /** |
| * Sets a new value and then checks get value. <p> |
| * Has <b>OK</b> status if set and get values are equal. <p> |
| * The following method tests are to be completed successfully before : |
| * <ul> |
| * <li> <code> getDropDownLineCount </code> </li> |
| * </ul> |
| */ |
| public void _setDropDownLineCount() { |
| requiredMethod("getDropDownLineCount()") ; |
| |
| boolean result = true ; |
| oObj.setDropDownLineCount((short)(lineCount + 1)) ; |
| result = oObj.getDropDownLineCount() == lineCount + 1 ; |
| |
| tRes.tested("setDropDownLineCount()", result) ; |
| } |
| |
| /** |
| * Selects some item and gets selected item position. <p> |
| * Has <b> OK </b> status if position is equal to position set. <p> |
| * The following method tests are to be completed successfully before : |
| * <ul> |
| * <li> <code> addItems </code> : to have some items </li> |
| * </ul> |
| */ |
| public void _getSelectedItemPos() { |
| requiredMethod("addItems()") ; |
| |
| boolean result = true ; |
| oObj.selectItemPos((short)1, true) ; |
| short pos = oObj.getSelectedItemPos() ; |
| |
| result = pos == 1 ; |
| |
| tRes.tested("getSelectedItemPos()", result) ; |
| } |
| |
| /** |
| * Clears all selections, then selects some items and gets selected |
| * item positions. <p> |
| * Has <b> OK </b> status if positions get are the same as were set.<p> |
| * The following method tests are to be completed successfully before : |
| * <ul> |
| * <li> <code> selectItemsPos </code> </li> |
| * </ul> |
| */ |
| public void _getSelectedItemsPos() { |
| requiredMethod("selectItemsPos()") ; |
| |
| boolean result = true ; |
| short cnt = oObj.getItemCount() ; |
| for (short i = 0; i < cnt; i++) { |
| oObj.selectItemPos(i, false) ; |
| } |
| oObj.selectItemsPos(new short[] {0, 2}, true) ; |
| |
| short[] items = oObj.getSelectedItemsPos() ; |
| |
| result = items != null && items.length == 2 && |
| items[0] == 0 && items[1] == 2 ; |
| |
| tRes.tested("getSelectedItemsPos()", result) ; |
| } |
| |
| /** |
| * Unselects all items, selects some item and then gets selected item. <p> |
| * Has <b> OK </b> status if items selected and get are equal. |
| * The following method tests are to be completed successfully before : |
| * <ul> |
| * <li> <code> addItems </code> : to have some items </li> |
| * </ul> |
| */ |
| public void _getSelectedItem() { |
| requiredMethod("addItems()") ; |
| |
| boolean result = true ; |
| short cnt = oObj.getItemCount() ; |
| for (short i = 0; i < cnt; i++) { |
| oObj.selectItemPos(i, false) ; |
| } |
| oObj.selectItem("Item3", true) ; |
| String item = oObj.getSelectedItem() ; |
| |
| result = "Item3".equals(item) ; |
| |
| tRes.tested("getSelectedItem()", result) ; |
| } |
| |
| /** |
| * Clears all selections, then selects some items positions and gets |
| * selected items. <p> |
| * Has <b> OK </b> status if items get are the same as items on |
| * positions which were set.<p> |
| * The following method tests are to be completed successfully before : |
| * <ul> |
| * <li> <code> selectItemsPos </code> </li> |
| * <li> <code> getItem </code>: this method is used here for checking. |
| * </li> |
| * </ul> |
| */ |
| public void _getSelectedItems() { |
| requiredMethod("selectItemsPos()") ; |
| requiredMethod("getItem()") ; |
| |
| boolean result = true ; |
| short cnt = oObj.getItemCount() ; |
| for (short i = 0; i < cnt; i++) { |
| oObj.selectItemPos(i, false) ; |
| } |
| oObj.selectItemsPos(new short[] {0, 2}, true) ; |
| |
| String[] items = oObj.getSelectedItems() ; |
| result = items != null && items.length == 2 && |
| oObj.getItem((short)0).equals(items[0]) && |
| oObj.getItem((short)2).equals(items[1]) ; |
| |
| tRes.tested("getSelectedItems()", result) ; |
| } |
| |
| /** |
| * Unselects all items, then selects a single item. <p> |
| * Has <b> OK </b> status if no runtime exceptions occured |
| * The following method tests are to be completed successfully before : |
| * <ul> |
| * <li> <code> addItems </code> : to have some items </li> |
| * </ul> |
| */ |
| public void _selectItemPos() { |
| requiredMethod("addItems()") ; |
| |
| boolean result = true ; |
| short cnt = oObj.getItemCount() ; |
| for (short i = 0; i < cnt; i++) { |
| oObj.selectItemPos(i, false) ; |
| } |
| oObj.selectItemPos((short)1, true) ; |
| |
| tRes.tested("selectItemPos()", result) ; |
| } |
| |
| /** |
| * Just selects some items. <p> |
| * Has <b> OK </b> status if no runtime exceptions occured |
| * The following method tests are to be completed successfully before : |
| * <ul> |
| * <li> <code> addItems </code> : to have some items </li> |
| * </ul> |
| */ |
| public void _selectItemsPos() { |
| requiredMethod("addItems()") ; |
| requiredMethod("setMultipleMode()") ; |
| |
| boolean result = true ; |
| oObj.selectItemsPos(new short[] {0, 2}, true) ; |
| |
| tRes.tested("selectItemsPos()", result) ; |
| } |
| |
| /** |
| * Just selects an item. <p> |
| * Has <b> OK </b> status if no runtime exceptions occured |
| * The following method tests are to be completed successfully before : |
| * <ul> |
| * <li> <code> addItems </code> : to have some items </li> |
| * </ul> |
| */ |
| public void _selectItem() { |
| requiredMethod("addItems()") ; |
| |
| boolean result = true ; |
| oObj.selectItem("Item3", true) ; |
| |
| tRes.tested("selectItem()", result) ; |
| } |
| |
| /** |
| * Checks if multiple mode is set. <p> |
| * Has <b> OK </b> status if multiple mode is set. <p> |
| * The following method tests are to be completed successfully before : |
| * <ul> |
| * <li> <code> setMultipleMode </code> </li> |
| * </ul> |
| */ |
| public void _isMutipleMode() { |
| requiredMethod("setMultipleMode()") ; |
| |
| boolean result = true ; |
| result = oObj.isMutipleMode() ; |
| |
| tRes.tested("isMutipleMode()", result) ; |
| } |
| |
| /** |
| * Sets multiple mode. <p> |
| * Has <b> OK </b> status if no runtime exceptions occured |
| */ |
| public void _setMultipleMode() { |
| |
| boolean result = true ; |
| oObj.setMultipleMode(true) ; |
| |
| tRes.tested("setMultipleMode()", result) ; |
| } |
| |
| /** |
| * Just calls the method to make visible third item. <p> |
| * Has <b> OK </b> status if no runtime exceptions occured.<p> |
| * The following method tests are to be completed successfully before : |
| * <ul> |
| * <li> <code> addItems </code> </li> |
| * </ul> |
| */ |
| public void _makeVisible() { |
| requiredMethod("addItems()") ; |
| |
| boolean result = true ; |
| oObj.makeVisible((short)2) ; |
| |
| tRes.tested("makeVisible()", result) ; |
| } |
| } |