From 90b17f0734ed520d14c2bd26fa1d0e30f973bd2d Mon Sep 17 00:00:00 2001
From: Markus Schorn <markus.schorn@windriver.com>
Date: Wed, 23 May 2007 11:16:09 +0000
Subject: [PATCH] Fixes for call hierarchy tests

---
 .../ui/org/eclipse/cdt/ui/tests/BaseUITestCase.java   |  3 ++-
 .../tests/callhierarchy/BasicCallHierarchyTest.java   |  2 --
 .../cdt/ui/tests/callhierarchy/CallHierarchyBugs.java | 11 ++++++++++-
 3 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/BaseUITestCase.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/BaseUITestCase.java
index 5399706d733..97013ed03f7 100644
--- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/BaseUITestCase.java
+++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/BaseUITestCase.java
@@ -241,8 +241,9 @@ public class BaseUITestCase extends BaseTestCase {
 	final protected TreeItem checkTreeNode(Tree tree, int i0, int i1, String label) {
 		TreeItem item= null;
 		TreeItem root= tree.getItem(i0);
-		for (int i=0; i<200; i++) {
+		for (int i=0; i<400; i++) {
 			try {
+				item= null;
 				item= root.getItem(i1);
 				if (!"...".equals(item.getText())) {
 					break;
diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/callhierarchy/BasicCallHierarchyTest.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/callhierarchy/BasicCallHierarchyTest.java
index 09d79cd6bc3..e17ad68905f 100644
--- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/callhierarchy/BasicCallHierarchyTest.java
+++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/callhierarchy/BasicCallHierarchyTest.java
@@ -551,7 +551,6 @@ public class BasicCallHierarchyTest extends CallHierarchyBaseTest {
 		checkTreeNode(tree, 0, 0, "main()");
 	}
 	
-	// {testStaticFunctions}
 	// void gf();
 	// static void sf() {
 	//     gf();
@@ -623,7 +622,6 @@ public class BasicCallHierarchyTest extends CallHierarchyBaseTest {
 		checkTreeNode(i1, 0, null);
 	}
 
-	// {testStaticFunctions}
 	// void gf();
 	// static void sf() {
 	//     gf();
diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/callhierarchy/CallHierarchyBugs.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/callhierarchy/CallHierarchyBugs.java
index 76fb90e907c..5770d9e1aaf 100644
--- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/callhierarchy/CallHierarchyBugs.java
+++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/callhierarchy/CallHierarchyBugs.java
@@ -86,6 +86,7 @@ public class CallHierarchyBugs extends CallHierarchyBaseTest {
 	// void SomeClass::ambiguous_impl() {
 	//    ref1= 1;
 	// }
+	// void other() {}
 
 	// #include "SomeClass.h"
 	// void SomeClass::ambiguous_impl() {
@@ -112,6 +113,14 @@ public class CallHierarchyBugs extends CallHierarchyBaseTest {
 		checkTreeNode(chTree, 0, "SomeClass::ambiguous_impl()");
 		checkTreeNode(chTree, 0, 0, "SomeClass::ref1");
 
+		// just change the call hierarchy
+		outline= activateView(IPageLayout.ID_OUTLINE);
+		outlineTree= (Tree) getFocusControl(Tree.class, avoid, 8000);
+		checkTreeNode(outlineTree, 2, "other() : void");
+		selectTreeItem(outlineTree, 2);	
+		executeCommand(outline, ICEditorActionDefinitionIds.OPEN_CALL_HIERARCHY);
+		checkTreeNode(chTree, 0, "other()");
+
 		openEditor(file2);
 		outline= activateView(IPageLayout.ID_OUTLINE);
 		outlineTree= (Tree) getFocusControl(Tree.class, outlineTree, 8000);
@@ -129,7 +138,7 @@ public class CallHierarchyBugs extends CallHierarchyBaseTest {
 
 	private void openEditor(IFile file) throws PartInitException {
 		IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
-		IDE.openEditor(page, file);
+		IDE.openEditor(page, file, true);
 		getFocusControl(StyledText.class, 8000);
 	}
 }