/************************************************************************* * * 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 * * for a copy of the LGPLv3 License. * ************************************************************************/ package ifc.awt; import lib.MultiMethodTest; import lib.Status; import com.sun.star.awt.XComboBox; /** * Testing com.sun.star.awt.XComboBox * interface methods : *

* Test is NOT multithread compilant.

* @see com.sun.star.awt.XComboBox */ public class _XComboBox extends MultiMethodTest { public XComboBox 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; } } /** * 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; } } private TestActionListener actionListener = new TestActionListener(); private TestItemListener itemListener = new TestItemListener(); short lineCount = 0; short itemCount = 0; /** * !!! 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.

* Has OK status if the number of items increased by 1.

* The following method tests are to be completed successfully before : *

*/ 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.

* Has OK status if the number of items increased by 2.

* The following method tests are to be executed before : *

*/ 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.

* Has OK status if no items remains.

* The following method tests are to be executed before : *

*/ public void _removeItems() { executeMethod("getItems()"); executeMethod("getItem()"); 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.

* Has OK status if the count is not less than 0. */ public void _getItemCount() { itemCount = oObj.getItemCount(); tRes.tested("getItemCount()", itemCount >= 0); } /** * After addItem and addItems methods * test the following items must exist {..., "Item1", "Item2", "Item3"} * Retrieves the item from the position which was ititially the last.

* Has OK status if the "Item1" was retrieved.

* The following method tests are to be executed before : *

*/ public void _getItem() { requiredMethod("addItems()"); boolean result = true; String item = oObj.getItem(itemCount); result = "Item1".equals(item); tRes.tested("getItem()", result); } /** * After addItem and addItems methods * test the following items must exist {..., "Item1", "Item2", "Item3"} * Retrieves all items.

* Has OK status if the last three items retrieved are * "Item1", "Item2" and "Item3".

* The following method tests are to be executed before : *

*/ public void _getItems() { requiredMethod("addItems()"); boolean result = true; String[] items = oObj.getItems(); for (int i = itemCount; i < (itemCount + 3); i++) { result &= ("Item" + (i + 1)).equals(items[i]); } tRes.tested("getItems()", result); } /** * Gets line count and stores it.

* Has OK 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.

* Has OK status if set and get values are equal.

* The following method tests are to be completed successfully before : *

*/ public void _setDropDownLineCount() { requiredMethod("getDropDownLineCount()"); boolean result = true; oObj.setDropDownLineCount((short) (lineCount + 1)); result = oObj.getDropDownLineCount() == lineCount + 1; tRes.tested("setDropDownLineCount()", result); } }