diff options
Diffstat (limited to 'qadevOOo/tests/java/ifc/awt/tree/_XTreeControl.java')
-rw-r--r-- | qadevOOo/tests/java/ifc/awt/tree/_XTreeControl.java | 640 |
1 files changed, 640 insertions, 0 deletions
diff --git a/qadevOOo/tests/java/ifc/awt/tree/_XTreeControl.java b/qadevOOo/tests/java/ifc/awt/tree/_XTreeControl.java new file mode 100644 index 000000000..e3c124d0a --- /dev/null +++ b/qadevOOo/tests/java/ifc/awt/tree/_XTreeControl.java @@ -0,0 +1,640 @@ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +package ifc.awt.tree; + +import com.sun.star.awt.tree.ExpandVetoException; +import com.sun.star.awt.tree.TreeExpansionEvent; +import com.sun.star.awt.tree.XMutableTreeNode; +import com.sun.star.awt.tree.XTreeControl; +import com.sun.star.awt.tree.XTreeEditListener; +import com.sun.star.awt.tree.XTreeExpansionListener; +import com.sun.star.awt.tree.XTreeNode; +import com.sun.star.lang.EventObject; +import com.sun.star.util.VetoException; +import lib.MultiMethodTest; +import lib.Status; +import lib.StatusException; + +/** + * Testing <code>com.sun.star.awt.tree.XTreeControl</code> + * interface methods : + * <ul> + * <li><code> isNodeExpanded()</code></li> + * <li><code> isNodeCollapsed()</code></li> + * <li><code> makeNodeVisible()</code></li> + * <li><code> isNodeVisible()</code></li> + * <li><code> expandNode()</code></li> + * <li><code> collapseNode()</code></li> + * <li><code> addTreeExpansionListener()</code></li> + * <li><code> removeTreeExpansionListener()</code></li> + * <li><code> getNodeForLocation()</code></li> + * <li><code> getClosestNodeForLocation()</code></li> + * <li><code> isEditing()</code></li> + * <li><code> stopEditing()</code></li> + * <li><code> cancelEditing()</code></li> + * <li><code> startEditingAtNode()</code></li> + * <li><code> addTreeEditListener()</code></li> + * <li><code> removeTreeEditListener()</code></li> + * <li><code> DefaultExpandedGraphicURL()</code></li> + * <li><code> DefaultCollapsedGraphicURL()</code></li>* </ul> <p> + * Test is <b> NOT </b> multithread compliant. <p> + * + * @see com.sun.star.awt.tree.XTreeControl + */ +public class _XTreeControl extends MultiMethodTest { + + public XTreeControl oObj = null; + + private XMutableTreeNode mXNode = null; + + XTreeExpansionListener mTreeExpansionListener1 = new TreeExpansionListenerImpl1(); + + XTreeExpansionListener mTreeExpansionListener2 = new TreeExpansionListenerImpl2(); + + XTreeEditListener mTreeEditListener1 = new TreeEditListenerImpl1(); + + XTreeEditListener mTreeEditListener2 = new TreeEditListenerImpl2(); + + boolean mTreeExpanded1 = false; + boolean mTreeExpanding1 = false; + boolean mTreeCollapsed1 = false; + boolean mTreeCollapsing1 = false; + + boolean mTreeExpanded2 = false; + boolean mTreeExpanding2 = false; + boolean mTreeCollapsed2 = false; + boolean mTreeCollapsing2 = false; + + public interface XTreeDataModelListenerEvent{ + void fireEvent(); + } + + public class TreeExpansionListenerImpl1 implements XTreeExpansionListener{ + public void requestChildNodes(TreeExpansionEvent treeExpansionEvent) { + log.println("event at ExpansionListener 1: requestChildNodes"); + } + + public void treeExpanding(TreeExpansionEvent treeExpansionEvent) throws ExpandVetoException { + log.println("event at ExpansionListener 1: treeExpanding"); + mTreeExpanding1 = true; + } + + public void treeCollapsing(TreeExpansionEvent treeExpansionEvent) throws ExpandVetoException { + log.println("event at ExpansionListener 1: treeCollapsing"); + mTreeCollapsing1 = true; + } + + public void treeExpanded(TreeExpansionEvent treeExpansionEvent) { + log.println("event at ExpansionListener 1: treeExpanded"); + mTreeExpanded1 = true; + } + + public void treeCollapsed(TreeExpansionEvent treeExpansionEvent) { + log.println("event at ExpansionListener 1: treeCollapsed"); + mTreeCollapsed1 = true; + } + + public void disposing(EventObject eventObject) { + log.println("event at ExpansionListener 1: disposing"); + } + } + + public class TreeExpansionListenerImpl2 implements XTreeExpansionListener{ + public void requestChildNodes(TreeExpansionEvent treeExpansionEvent) { + log.println("event at ExpansionListener 2: requestChildNodes"); + } + + public void treeExpanding(TreeExpansionEvent treeExpansionEvent) throws ExpandVetoException { + log.println("event at ExpansionListener 2: treeExpanding"); + mTreeExpanding2 = true; + } + + public void treeCollapsing(TreeExpansionEvent treeExpansionEvent) throws ExpandVetoException { + log.println("event at ExpansionListener 2: treeCollapsing"); + mTreeCollapsing2 = true; + } + + public void treeExpanded(TreeExpansionEvent treeExpansionEvent) { + log.println("event at ExpansionListener 2: treeExpanded"); + mTreeExpanded2 = true; + } + + public void treeCollapsed(TreeExpansionEvent treeExpansionEvent) { + log.println("event at ExpansionListener 2: treeCollapsed"); + mTreeCollapsed2 = true; + } + + public void disposing(EventObject eventObject) { + log.println("event at ExpansionListener 2: disposing"); + } + + } + + public class TreeEditListenerImpl1 implements XTreeEditListener{ + public void nodeEditing(XTreeNode xTreeNode) throws VetoException { + log.println("event at EditListener 1: nodeEditing"); + } + + public void nodeEdited(XTreeNode xTreeNode, String string) { + log.println("event at EditListener 1: nodeEdited"); + } + + public void disposing(EventObject eventObject) { + log.println("event at EditListener 1: disposing"); + } + } + + public class TreeEditListenerImpl2 implements XTreeEditListener{ + public void nodeEditing(XTreeNode xTreeNode) throws VetoException { + log.println("event at EditListener 2: nodeEditing"); + } + + public void nodeEdited(XTreeNode xTreeNode, String string) { + log.println("event at EditListener 2: nodeEdited"); + } + + public void disposing(EventObject eventObject) { + log.println("event at EditListener 2: disposing"); + } + } + + private void resetTreeExpandingListener(){ + mTreeExpanded1 = false; + mTreeExpanded2 = false; + mTreeCollapsed1 = false; + mTreeCollapsed2 = false; + mTreeExpanding1 = false; + mTreeExpanding2 = false; + mTreeCollapsing1 = false; + mTreeCollapsing2 = false; + } + + @Override + public void before(){ + mXNode = (XMutableTreeNode) tEnv.getObjRelation("XTreeControl_Node"); + if (mXNode == null) { + throw new StatusException(Status.failed("ERROR: could not get object relation 'XTreeControl_Node'")); + } + } + + public void _isNodeExpanded() { + + boolean bOK = true; + + boolean isExpanded = false; + + try { + isExpanded = oObj.isNodeExpanded(mXNode); + log.println("node is expanded: " + isExpanded); + + } catch (com.sun.star.lang.IllegalArgumentException ex) { + bOK = false; + log.println("ERROR: could not query for 'isNodeExpanded()': " + ex.toString()); + } + + if (isExpanded) + try { + + log.println("try to collapse node..."); + oObj.collapseNode(mXNode); + + } catch (ExpandVetoException ex) { + bOK = false; + log.println("ERROR: could not collapse node: " + ex.toString()); + } catch (com.sun.star.lang.IllegalArgumentException ex) { + bOK = false; + log.println("ERROR: could not collapse node: " + ex.toString()); + } + else + try { + + log.println("try to expand node..."); + oObj.expandNode(mXNode); + + } catch (ExpandVetoException ex) { + bOK = false; + log.println("ERROR: could not expand node: " + ex.toString()); + } catch (com.sun.star.lang.IllegalArgumentException ex) { + bOK = false; + log.println("ERROR: could not expand node: " + ex.toString()); + } + + try { + + boolean isAlsoExpanded = oObj.isNodeExpanded(mXNode); + + bOK &= (isExpanded != isAlsoExpanded); + + log.println("node is expanded: " + isAlsoExpanded + " => " + bOK); + + } catch (com.sun.star.lang.IllegalArgumentException ex) { + bOK = false; + log.println("ERROR: could not query for 'isNodeExpanded()': " + ex.toString()); + } + + tRes.tested("isNodeExpanded()", bOK); + + } + public void _isNodeCollapsed(){ + + boolean bOK = true; + + boolean isCollapsed = false; + + try { + isCollapsed = oObj.isNodeCollapsed(mXNode); + log.println("node is Collapsed: " + isCollapsed); + + } catch (com.sun.star.lang.IllegalArgumentException ex) { + bOK = false; + log.println("ERROR: could not query for 'isNodeCollapsed()': " + ex.toString()); + } + + if ( ! isCollapsed) + try { + + log.println("try to collapse node..."); + oObj.collapseNode(mXNode); + + } catch (ExpandVetoException ex) { + bOK = false; + log.println("ERROR: could not collapse node: " + ex.toString()); + } catch (com.sun.star.lang.IllegalArgumentException ex) { + bOK = false; + log.println("ERROR: could not collapse node: " + ex.toString()); + } + else + try { + + log.println("try to expand node..."); + oObj.expandNode(mXNode); + + } catch (ExpandVetoException ex) { + bOK = false; + log.println("ERROR: could not expand node: " + ex.toString()); + } catch (com.sun.star.lang.IllegalArgumentException ex) { + bOK = false; + log.println("ERROR: could not expand node: " + ex.toString()); + } + + try { + + boolean isAlsoCollapsed = oObj.isNodeCollapsed(mXNode); + + bOK &= (isCollapsed != isAlsoCollapsed); + + log.println("node is Collapsed: " + isAlsoCollapsed + " => " + bOK); + + } catch (com.sun.star.lang.IllegalArgumentException ex) { + bOK = false; + log.println("ERROR: could not query for 'isNodeCollapsed()': " + ex.toString()); + } + + tRes.tested("isNodeCollapsed()", bOK); + + } + public void _makeNodeVisible(){ + + boolean bOK = true; + try { + + oObj.makeNodeVisible(mXNode); + } catch (ExpandVetoException ex) { + bOK = false; + log.println("ERROR: could not call method 'makeNodeVisible()' successfully: " + ex.toString()); + } catch (com.sun.star.lang.IllegalArgumentException ex) { + bOK = false; + log.println("ERROR: could not call method 'makeNodeVisible()' successfully: " + ex.toString()); + } + try { + + bOK &= oObj.isNodeVisible(mXNode); + } catch (com.sun.star.lang.IllegalArgumentException ex) { + bOK = false; + log.println("ERROR: could not call method 'isNodeVisible()' successfully: " + ex.toString()); + } + + tRes.tested("makeNodeVisible()", bOK); + + } + public void _isNodeVisible(){ + + this.requiredMethod("makeNodeVisible()"); + + boolean bOK = true; + log.println("since required method 'makeNodeVisible()' uses method 'isNodeVisible()' this test is ok."); + tRes.tested("isNodeVisible()", bOK); + + } + + public void _expandNode(){ + + this.requiredMethod("isNodeExpanded()"); + + boolean bOK = true; + log.println("since required method 'isnodeExpanded()' uses method 'expandNode()' this test is ok."); + tRes.tested("expandNode()", bOK); + + } + + public void _collapseNode(){ + + this.requiredMethod("isNodeCollapsed()"); + + boolean bOK = true; + log.println("since required method 'isnodeCollapsed()' uses method 'expandNode()' this test is ok."); + tRes.tested("collapseNode()", bOK); + + } + + public void _addTreeExpansionListener(){ + + boolean bOK = true; + + log.println("collapse Node to get an initial status..."); + try { + + oObj.collapseNode(mXNode); + } catch (ExpandVetoException ex) { + bOK = false; + log.println("ERROR: could not collapse node: " + ex.toString()); + } catch (com.sun.star.lang.IllegalArgumentException ex) { + bOK = false; + log.println("ERROR: could not collapse node: " + ex.toString()); + } + + log.println("add mTreeExpansionListener1..."); + oObj.addTreeExpansionListener(mTreeExpansionListener1); + + log.println("add mTreeExpansionListener2"); + oObj.addTreeExpansionListener(mTreeExpansionListener2); + + resetTreeExpandingListener(); + + log.println("expand Node..."); + try { + + oObj.expandNode(mXNode); + + } catch (ExpandVetoException ex) { + bOK = false; + log.println("ERROR: could not expand node: " + ex.toString()); + } catch (com.sun.star.lang.IllegalArgumentException ex) { + bOK = false; + log.println("ERROR: could not expand node: " + ex.toString()); + } + + bOK &= mTreeExpanded1 & mTreeExpanded2 & ! mTreeCollapsed1 & ! mTreeCollapsed2 + & mTreeExpanding1 & mTreeExpanding2 & ! mTreeCollapsing1 & ! mTreeCollapsing2; + + resetTreeExpandingListener(); + + log.println("collapse Node..."); + try { + + oObj.collapseNode(mXNode); + } catch (ExpandVetoException ex) { + bOK = false; + log.println("ERROR: could not collapse node: " + ex.toString()); + } catch (com.sun.star.lang.IllegalArgumentException ex) { + bOK = false; + log.println("ERROR: could not collapse node: " + ex.toString()); + } + + bOK &= ! mTreeExpanded1 & ! mTreeExpanded2 & mTreeCollapsed1 & mTreeCollapsed2 + & ! mTreeExpanding1 & ! mTreeExpanding2 & mTreeCollapsing1 & mTreeCollapsing2; + + tRes.tested("addTreeExpansionListener()", bOK); + + } + + public void _removeTreeExpansionListener(){ + + this.requiredMethod("addTreeExpansionListener()"); + + boolean bOK = true; + + log.println("collapse Node to get an initial status..."); + try { + + oObj.collapseNode(mXNode); + } catch (ExpandVetoException ex) { + bOK = false; + log.println("ERROR: could not collapse node: " + ex.toString()); + } catch (com.sun.star.lang.IllegalArgumentException ex) { + bOK = false; + log.println("ERROR: could not collapse node: " + ex.toString()); + } + + resetTreeExpandingListener(); + + log.println("remove mTreeExpansionListener2 ..."); + oObj.removeTreeExpansionListener(mTreeExpansionListener2); + + log.println("expand Node..."); + try { + + oObj.expandNode(mXNode); + + } catch (ExpandVetoException ex) { + bOK = false; + log.println("ERROR: could not expand node: " + ex.toString()); + } catch (com.sun.star.lang.IllegalArgumentException ex) { + bOK = false; + log.println("ERROR: could not expand node: " + ex.toString()); + } + + bOK &= mTreeExpanded1 & ! mTreeExpanded2 & ! mTreeCollapsed1 & ! mTreeCollapsed2 + & mTreeExpanding1 & ! mTreeExpanding2 & ! mTreeCollapsing1 & ! mTreeCollapsing2; + + resetTreeExpandingListener(); + + log.println("collapse Node..."); + try { + + oObj.collapseNode(mXNode); + } catch (ExpandVetoException ex) { + bOK = false; + log.println("ERROR: could not collapse node: " + ex.toString()); + } catch (com.sun.star.lang.IllegalArgumentException ex) { + bOK = false; + log.println("ERROR: could not collapse node: " + ex.toString()); + } + + bOK &= ! mTreeExpanded1 & ! mTreeExpanded2 & mTreeCollapsed1 & ! mTreeCollapsed2 + & ! mTreeExpanding1 & ! mTreeExpanding2 & mTreeCollapsing1 & ! mTreeCollapsing2; + + log.println("remove mTreeExpansionListener2 ..."); + oObj.removeTreeExpansionListener(mTreeExpansionListener2); + + tRes.tested("removeTreeExpansionListener()", bOK); + + } + + public void _getNodeForLocation(){ + + boolean bOK = false; + + + tRes.tested("getNodeForLocation()", bOK); + + } + + public void _getClosestNodeForLocation(){ + + boolean bOK = false; + + log.println("try to get Node for location 100,100"); + XTreeNode myNode = oObj.getClosestNodeForLocation(100,100); + + bOK &= (myNode != null); + + tRes.tested("getClosestNodeForLocation()", bOK); + + } + + public void _isEditing(){ + + boolean bOK = false; + + log.println("not ready because of i78701"); + + tRes.tested("isEditing()", bOK); + + } + + public void _stopEditing(){ + + boolean bOK = false; + log.println("not ready because of i78701"); + + + tRes.tested("stopEditing()", bOK); + + } + + public void _cancelEditing(){ + + boolean bOK = false; + + log.println("not ready because of i78701"); + + tRes.tested("cancelEditing()", bOK); + + } + + public void _startEditingAtNode(){ + + boolean bOK = false; + + log.println("not ready because of i78701"); + + tRes.tested("startEditingAtNode()", bOK); + + } + + public void _addTreeEditListener(){ + + boolean bOK = true; + + log.println("add EditListener 1..."); + oObj.addTreeEditListener(mTreeEditListener1); + + log.println("add EditListener 2..."); + oObj.addTreeEditListener(mTreeEditListener2); + + try { + oObj.startEditingAtNode(mXNode); + } catch (com.sun.star.lang.IllegalArgumentException ex) { + log.println("ERROR: could not start editing at node: " + ex.toString()); + bOK = false; + } + + log.println("not ready because of i78701"); + bOK = false; + + + tRes.tested("addTreeEditListener()", bOK); + + } + + public void _removeTreeEditListener(){ + + boolean bOK = false; + + log.println("not ready because of i78701"); + + tRes.tested("removeTreeEditListener()", bOK); + + } + + public void _DefaultExpandedGraphicURL(){ + + boolean bOK = true; + + String current = oObj.getDefaultExpandedGraphicURL(); + log.println("current DefaultExpandedGraphicURL: " + current); + + String changeUrl = null; + + if (current.equals("private:graphicrepository/sd/res/triangle_right.png")) + changeUrl = "private:graphicrepository/sd/res/triangle_down.png"; + else changeUrl = "private:graphicrepository/sd/res/triangle_right.png"; + + log.println("try to set '" + changeUrl + "' as new DefaultExpandedGraphicURL"); + + oObj.setDefaultExpandedGraphicURL(changeUrl); + + String newUrl = oObj.getDefaultExpandedGraphicURL(); + + log.println("new DefaultExpandedGraphicURL: " + newUrl); + + bOK &= ! newUrl.equals(current); + + tRes.tested("DefaultExpandedGraphicURL()", bOK); + + } + + public void _DefaultCollapsedGraphicURL(){ + + boolean bOK = true; + + String current = oObj.getDefaultCollapsedGraphicURL(); + log.println("current DefaultCollapsedGraphicURL: " + current); + + String changeUrl = null; + + if (current.equals("private:graphicrepository/sd/res/triangle_right.png")) + changeUrl = "private:graphicrepository/sd/res/triangle_down.png"; + else changeUrl = "private:graphicrepository/sd/res/triangle_right.png"; + + log.println("try to set '" + changeUrl + "' as new DefaultCollapsedGraphicURL"); + oObj.setDefaultCollapsedGraphicURL(changeUrl); + + String newUrl = oObj.getDefaultCollapsedGraphicURL(); + + log.println("new DefaultCollapsedGraphicURL: " + newUrl); + + bOK &= ! newUrl.equals(current); + + tRes.tested("DefaultCollapsedGraphicURL()", bOK); + } +} + + |